;{ Description
; ** Copyright (c) 2007-2010 The Khronos Group Inc.
; ** 
; ** Permission is hereby granted, free of charge, To any person obtaining a
; ** copy of this software And/Or associated documentation files (the
; ** "Materials"), To deal in the Materials without restriction, including
; ** without limitation the rights To use, copy, modify, merge, publish,
; ** distribute, sublicense, And/Or sell copies of the Materials, And To
; ** permit persons To whom the Materials are furnished To do so, subject To
; ** the following conditions:
; ** 
; ** The above copyright notice And this permission notice shall be included
; ** in all copies Or substantial portions of the Materials.
; ** 
; ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
; ** EXPRESS Or IMPLIED, INCLUDING BUT Not LIMITED To THE WARRANTIES OF
; ** MERCHANTABILITY, FITNESS For A PARTICULAR PURPOSE And NONINFRINGEMENT.
; ** IN NO EVENT SHALL THE AUTHORS Or COPYRIGHT HOLDERS BE LIABLE For ANY
; ** CLAIM, DAMAGES Or OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
; ** TORT Or OTHERWISE, ARISING FROM, OUT OF Or IN CONNECTION With THE
; ** MATERIALS Or THE USE Or OTHER DEALINGS IN THE MATERIALS.
;}

; *************************************************************************
;				OpenGL3.pbi wrapped by Cpl.Bator for PureBasic 4.3 / 4.4x Beta, 
;				 Modified to add dynamic linking support by allcreater
;
; 				Please , report any error on the official forum or by PM
; 		The file is not wrapped automaticaly , i write this one by one...
;					with copy/paste , but i write the parameters manualy
; *************************************************************************

; Warning , verify with GlGetString() all of this version is supported by you hardware.
;{ Constants
	;{ Rename please
		#GL_VERSION_1_0 = 1
		#GL_VERSION_1_1 = 1
		#GL_VERSION_1_2 = 1
		#GL_VERSION_1_3 = 1
		#GL_VERSION_1_4 = 1
		#GL_VERSION_1_5 = 1
		#GL_VERSION_2_0 = 1
		#GL_VERSION_2_1 = 1
		#GL_VERSION_3_0 = 1
		#GL_VERSION_3_1 = 1
		#GL_VERSION_3_2 = 1
		
		; Warning , verify with GlGetString() all of this extention is supported by you hardware.
		;#GL_ARB_framebuffer_object					 = 1 ;gl30
		;#GL_ARB_map_buffer_range						 = 1 ;gl30
		;#GL_ARB_vertex_array_object					= 1;gl30
		#GL_ARB_texture_rg = 1
		
		#GL_ARB_draw_buffers_blend					 = 1
		#GL_ARB_sample_shading							 = 1
		
		;#OPENGL_STATIC_LINKING							 = 1
	;}
	CompilerIf Defined(GL_VERSION_1_1,#PB_Constant)
		; /* AttribMask */
		#GL_DEPTH_BUFFER_BIT							 =					$00000100
		#GL_STENCIL_BUFFER_BIT						 =					$00000400
		#GL_COLOR_BUFFER_BIT							 =					$00004000
		; /* Boolean */
		#GL_FALSE													= 0
		#GL_TRUE													 = 1
		; /* BeginMode */
		#GL_POINTS												 =					$0000
		#GL_LINES													=					$0001
		#GL_LINE_LOOP											=					$0002
		#GL_LINE_STRIP										 =					$0003
		#GL_TRIANGLES											=					$0004
		#GL_TRIANGLE_STRIP								 =					$0005
		#GL_TRIANGLE_FAN									 =					$0006
		; /* AlphaFunction */
		#GL_NEVER													=					$0200
		#GL_LESS													 =					$0201
		#GL_EQUAL													=					$0202
		#GL_LEQUAL												 =					$0203
		#GL_GREATER												=					$0204
		#GL_NOTEQUAL											 =					$0205
		#GL_GEQUAL												 =					$0206
		#GL_ALWAYS												 =					$0207
		; /* BlendingFactorDest */
		#GL_ZERO													 =0
		#GL_ONE														=1
		#GL_SRC_COLOR											=					$0300
		#GL_ONE_MINUS_SRC_COLOR						=					$0301
		#GL_SRC_ALPHA											=					$0302
		#GL_ONE_MINUS_SRC_ALPHA						=					$0303
		#GL_DST_ALPHA											=					$0304
		#GL_ONE_MINUS_DST_ALPHA						=					$0305
		; /* BlendingFactorSrc */
		#GL_DST_COLOR											=					$0306
		#GL_ONE_MINUS_DST_COLOR						=					$0307
		#GL_SRC_ALPHA_SATURATE						 =					$0308
		; /* DrawBufferMode */
		#GL_NONE													 =0
		#GL_FRONT_LEFT										 =					$0400
		#GL_FRONT_RIGHT										=					$0401
		#GL_BACK_LEFT											=					$0402
		#GL_BACK_RIGHT										 =					$0403
		#GL_FRONT													=					$0404
		#GL_BACK													 =					$0405
		#GL_LEFT													 =					$0406
		#GL_RIGHT													=					$0407
		#GL_FRONT_AND_BACK								 =					$0408
		; /* ErrorCode */
		#GL_NO_ERROR											 =0
		#GL_INVALID_ENUM									 =					$0500
		#GL_INVALID_VALUE									=					$0501
		#GL_INVALID_OPERATION							=					$0502
		#GL_OUT_OF_MEMORY									=					$0505
		; /* FrontFaceDirection */
		#GL_CW														 =					$0900
		#GL_CCW														=					$0901
		; /* GetPName */
		#GL_POINT_SIZE										 =					$0B11
		#GL_POINT_SIZE_RANGE							 =					$0B12
		#GL_POINT_SIZE_GRANULARITY				 =					$0B13
		#GL_LINE_SMOOTH										=					$0B20
		#GL_LINE_WIDTH										 =					$0B21
		#GL_LINE_WIDTH_RANGE							 =					$0B22
		#GL_LINE_WIDTH_GRANULARITY				 =					$0B23
		#GL_POLYGON_SMOOTH								 =					$0B41
		#GL_CULL_FACE											=					$0B44
		#GL_CULL_FACE_MODE								 =					$0B45
		#GL_FRONT_FACE										 =					$0B46
		#GL_DEPTH_RANGE										=					$0B70
		#GL_DEPTH_TEST										 =					$0B71
		#GL_DEPTH_WRITEMASK								=					$0B72
		#GL_DEPTH_CLEAR_VALUE							=					$0B73
		#GL_DEPTH_FUNC										 =					$0B74
		#GL_STENCIL_TEST									 =					$0B90
		#GL_STENCIL_CLEAR_VALUE						=					$0B91
		#GL_STENCIL_FUNC									 =					$0B92
		#GL_STENCIL_VALUE_MASK						 =					$0B93
		#GL_STENCIL_FAIL									 =					$0B94
		#GL_STENCIL_PASS_DEPTH_FAIL				=					$0B95
		#GL_STENCIL_PASS_DEPTH_PASS				=					$0B96
		#GL_STENCIL_REF										=					$0B97
		#GL_STENCIL_WRITEMASK							=					$0B98
		#GL_VIEWPORT											 =					$0BA2
		#GL_DITHER												 =					$0BD0
		#GL_BLEND_DST											=					$0BE0
		#GL_BLEND_SRC											=					$0BE1
		#GL_BLEND													=					$0BE2
		#GL_LOGIC_OP_MODE									=					$0BF0
		#GL_COLOR_LOGIC_OP								 =					$0BF2
		#GL_DRAW_BUFFER										=					$0C01
		#GL_READ_BUFFER										=					$0C02
		#GL_SCISSOR_BOX										=					$0C10
		#GL_SCISSOR_TEST									 =					$0C11
		#GL_COLOR_CLEAR_VALUE							=					$0C22
		#GL_COLOR_WRITEMASK								=					$0C23
		#GL_DOUBLEBUFFER									 =					$0C32
		#GL_STEREO												 =					$0C33
		#GL_LINE_SMOOTH_HINT							 =					$0C52
		#GL_POLYGON_SMOOTH_HINT						=					$0C53
		#GL_UNPACK_SWAP_BYTES							=					$0CF0
		#GL_UNPACK_LSB_FIRST							 =					$0CF1
		#GL_UNPACK_ROW_LENGTH							=					$0CF2
		#GL_UNPACK_SKIP_ROWS							 =					$0CF3
		#GL_UNPACK_SKIP_PIXELS						 =					$0CF4
		#GL_UNPACK_ALIGNMENT							 =					$0CF5
		#GL_PACK_SWAP_BYTES								=					$0D00
		#GL_PACK_LSB_FIRST								 =					$0D01
		#GL_PACK_ROW_LENGTH								=					$0D02
		#GL_PACK_SKIP_ROWS								 =					$0D03
		#GL_PACK_SKIP_PIXELS							 =					$0D04
		#GL_PACK_ALIGNMENT								 =					$0D05
		#GL_MAX_TEXTURE_SIZE							 =					$0D33
		#GL_MAX_VIEWPORT_DIMS							=					$0D3A
		#GL_SUBPIXEL_BITS									=					$0D50
		#GL_TEXTURE_1D										 =					$0DE0
		#GL_TEXTURE_2D										 =					$0DE1
		#GL_POLYGON_OFFSET_UNITS					 =					$2A00
		#GL_POLYGON_OFFSET_POINT					 =					$2A01
		#GL_POLYGON_OFFSET_LINE						=					$2A02
		#GL_POLYGON_OFFSET_FILL						=					$8037
		#GL_POLYGON_OFFSET_FACTOR					=					$8038
		#GL_TEXTURE_BINDING_1D						 =					$8068
		#GL_TEXTURE_BINDING_2D						 =					$8069
		; /* GetTextureParameter */
		#GL_TEXTURE_WIDTH									=					$1000
		#GL_TEXTURE_HEIGHT								 =					$1001
		#GL_TEXTURE_INTERNAL_FORMAT				=					$1003
		#GL_TEXTURE_BORDER_COLOR					 =					$1004
		#GL_TEXTURE_BORDER								 =					$1005
		#GL_TEXTURE_RED_SIZE							 =					$805C
		#GL_TEXTURE_GREEN_SIZE						 =					$805D
		#GL_TEXTURE_BLUE_SIZE							=					$805E
		#GL_TEXTURE_ALPHA_SIZE						 =					$805F
		; /* HintMode */
		#GL_DONT_CARE											=					$1100
		#GL_FASTEST												=					$1101
		#GL_NICEST												 =					$1102
		; /* DataType */
		#GL_BYTE													 =					$1400
		#GL_UNSIGNED_BYTE									=					$1401
		#GL_SHORT													=					$1402
		#GL_UNSIGNED_SHORT								 =					$1403
		#GL_INT														=					$1404
		#GL_UNSIGNED_INT									 =					$1405
		#GL_FLOAT													=					$1406
		#GL_DOUBLE												 =					$140A
		; /* LogicOp */
		#GL_CLEAR													=					$1500
		#GL_AND														=					$1501
		#GL_AND_REVERSE										=					$1502
		#GL_COPY													 =					$1503
		#GL_AND_INVERTED									 =					$1504
		#GL_NOOP													 =					$1505
		#GL_XOR														=					$1506
		#GL_OR														 =					$1507
		#GL_NOR														=					$1508
		#GL_EQUIV													=					$1509
		#GL_INVERT												 =					$150A
		#GL_OR_REVERSE										 =					$150B
		#GL_COPY_INVERTED									=					$150C
		#GL_OR_INVERTED										=					$150D
		#GL_NAND													 =					$150E
		#GL_SET														=					$150F
		; /* MatrixMode (For gl3.h, FBO attachment type) */
		#GL_TEXTURE												=					$1702
		; /* PixelCopyType */
		#GL_COLOR													=					$1800
		#GL_DEPTH													=					$1801
		#GL_STENCIL												=					$1802
		; /* PixelFormat */
		#GL_STENCIL_INDEX									=					$1901
		#GL_DEPTH_COMPONENT								=					$1902
		#GL_RED														=					$1903
		#GL_GREEN													=					$1904
		#GL_BLUE													 =					$1905
		#GL_ALPHA													=					$1906
		#GL_RGB														=					$1907
		#GL_RGBA													 =					$1908
		; /* PolygonMode */
		#GL_POINT													=					$1B00
		#GL_LINE													 =					$1B01
		#GL_FILL													 =					$1B02
		; /* StencilOp */
		#GL_KEEP													 =					$1E00
		#GL_REPLACE												=					$1E01
		#GL_INCR													 =					$1E02
		#GL_DECR													 =					$1E03
		; /* StringName */
		#GL_VENDOR												 =					$1F00
		#GL_RENDERER											 =					$1F01
		#GL_VERSION												=					$1F02
		#GL_EXTENSIONS										 =					$1F03
		; /* TextureMagFilter */
		#GL_NEAREST												=					$2600
		#GL_LINEAR												 =					$2601
		; /* TextureMinFilter */
		#GL_NEAREST_MIPMAP_NEAREST				 =					$2700
		#GL_LINEAR_MIPMAP_NEAREST					=					$2701
		#GL_NEAREST_MIPMAP_LINEAR					=					$2702
		#GL_LINEAR_MIPMAP_LINEAR					 =					$2703
		; /* TextureParameterName */
		#GL_TEXTURE_MAG_FILTER						 =					$2800
		#GL_TEXTURE_MIN_FILTER						 =					$2801
		#GL_TEXTURE_WRAP_S								 =					$2802
		#GL_TEXTURE_WRAP_T								 =					$2803
		; /* TextureTarget */
		#GL_PROXY_TEXTURE_1D							 =					$8063
		#GL_PROXY_TEXTURE_2D							 =					$8064
		; /* TextureWrapMode */
		#GL_REPEAT												 =					$2901
		; /* PixelInternalFormat */
		#GL_R3_G3_B2											 =					$2A10
		#GL_RGB4													 =					$804F
		#GL_RGB5													 =					$8050
		#GL_RGB8													 =					$8051
		#GL_RGB10													=					$8052
		#GL_RGB12													=					$8053
		#GL_RGB16													=					$8054
		#GL_RGBA2													=					$8055
		#GL_RGBA4													=					$8056
		#GL_RGB5_A1												=					$8057
		#GL_RGBA8													=					$8058
		#GL_RGB10_A2											 =					$8059
		#GL_RGBA12												 =					$805A
		#GL_RGBA16												 =					$805B
	CompilerEndIf
	CompilerIf Defined(GL_VERSION_1_2,#PB_Constant)
		#GL_UNSIGNED_BYTE_3_3_2						=					$8032
		#GL_UNSIGNED_SHORT_4_4_4_4				 =					$8033
		#GL_UNSIGNED_SHORT_5_5_5_1				 =					$8034
		#GL_UNSIGNED_INT_8_8_8_8					 =					$8035
		#GL_UNSIGNED_INT_10_10_10_2				=					$8036
		#GL_TEXTURE_BINDING_3D						 =					$806A
		#GL_PACK_SKIP_IMAGES							 =					$806B
		#GL_PACK_IMAGE_HEIGHT							=					$806C
		#GL_UNPACK_SKIP_IMAGES						 =					$806D
		#GL_UNPACK_IMAGE_HEIGHT						=					$806E
		#GL_TEXTURE_3D										 =					$806F
		#GL_PROXY_TEXTURE_3D							 =					$8070
		#GL_TEXTURE_DEPTH									=					$8071
		#GL_TEXTURE_WRAP_R								 =					$8072
		#GL_MAX_3D_TEXTURE_SIZE						=					$8073
		#GL_UNSIGNED_BYTE_2_3_3_REV				=					$8362
		#GL_UNSIGNED_SHORT_5_6_5					 =					$8363
		#GL_UNSIGNED_SHORT_5_6_5_REV			 =					$8364
		#GL_UNSIGNED_SHORT_4_4_4_4_REV		 =					$8365
		#GL_UNSIGNED_SHORT_1_5_5_5_REV		 =					$8366
		#GL_UNSIGNED_INT_8_8_8_8_REV			 =					$8367
		#GL_UNSIGNED_INT_2_10_10_10_REV		=					$8368
		#GL_BGR														=					$80E0
		#GL_BGRA													 =					$80E1
		#GL_MAX_ELEMENTS_VERTICES					=					$80E8
		#GL_MAX_ELEMENTS_INDICES					 =					$80E9
		#GL_CLAMP_TO_EDGE									=					$812F
		#GL_TEXTURE_MIN_LOD								=					$813A
		#GL_TEXTURE_MAX_LOD								=					$813B
		#GL_TEXTURE_BASE_LEVEL						 =					$813C
		#GL_TEXTURE_MAX_LEVEL							=					$813D
		#GL_SMOOTH_POINT_SIZE_RANGE				=					$0B12
		#GL_SMOOTH_POINT_SIZE_GRANULARITY	=					$0B13
		#GL_SMOOTH_LINE_WIDTH_RANGE				=					$0B22
		#GL_SMOOTH_LINE_WIDTH_GRANULARITY	=					$0B23
		#GL_ALIASED_LINE_WIDTH_RANGE			 =					$846E
	CompilerEndIf
	CompilerIf Defined(GL_ARB_imaging,#PB_Constant)
		#GL_CONSTANT_COLOR								 =					$8001
		#GL_ONE_MINUS_CONSTANT_COLOR			 =					$8002
		#GL_CONSTANT_ALPHA								 =					$8003
		#GL_ONE_MINUS_CONSTANT_ALPHA			 =					$8004
		#GL_BLEND_COLOR										=					$8005
		#GL_FUNC_ADD											 =					$8006
		#GL_MIN														=					$8007
		#GL_MAX														=					$8008
		#GL_BLEND_EQUATION								 =					$8009
		#GL_FUNC_SUBTRACT									=					$800A
		#GL_FUNC_REVERSE_SUBTRACT					=					$800B
	CompilerEndIf
	CompilerIf Defined(GL_VERSION_1_3,#PB_Constant)
		#GL_TEXTURE0											 =					$84C0
		#GL_TEXTURE1											 =					$84C1
		#GL_TEXTURE2											 =					$84C2
		#GL_TEXTURE3											 =					$84C3
		#GL_TEXTURE4											 =					$84C4
		#GL_TEXTURE5											 =					$84C5
		#GL_TEXTURE6											 =					$84C6
		#GL_TEXTURE7											 =					$84C7
		#GL_TEXTURE8											 =					$84C8
		#GL_TEXTURE9											 =					$84C9
		#GL_TEXTURE10											=					$84CA
		#GL_TEXTURE11											=					$84CB
		#GL_TEXTURE12											=					$84CC
		#GL_TEXTURE13											=					$84CD
		#GL_TEXTURE14											=					$84CE
		#GL_TEXTURE15											=					$84CF
		#GL_TEXTURE16											=					$84D0
		#GL_TEXTURE17											=					$84D1
		#GL_TEXTURE18											=					$84D2
		#GL_TEXTURE19											=					$84D3
		#GL_TEXTURE20											=					$84D4
		#GL_TEXTURE21											=					$84D5
		#GL_TEXTURE22											=					$84D6
		#GL_TEXTURE23											=					$84D7
		#GL_TEXTURE24											=					$84D8
		#GL_TEXTURE25											=					$84D9
		#GL_TEXTURE26											=					$84DA
		#GL_TEXTURE27											=					$84DB
		#GL_TEXTURE28											=					$84DC
		#GL_TEXTURE29											=					$84DD
		#GL_TEXTURE30											=					$84DE
		#GL_TEXTURE31											=					$84DF
		#GL_ACTIVE_TEXTURE								 =					$84E0
		#GL_MULTISAMPLE										=					$809D
		#GL_SAMPLE_ALPHA_TO_COVERAGE			 =					$809E
		#GL_SAMPLE_ALPHA_TO_ONE						=					$809F
		#GL_SAMPLE_COVERAGE								=					$80A0
		#GL_SAMPLE_BUFFERS								 =					$80A8
		#GL_SAMPLES												=					$80A9
		#GL_SAMPLE_COVERAGE_VALUE					=					$80AA
		#GL_SAMPLE_COVERAGE_INVERT				 =					$80AB
		#GL_TEXTURE_CUBE_MAP							 =					$8513
		#GL_TEXTURE_BINDING_CUBE_MAP			 =					$8514
		#GL_TEXTURE_CUBE_MAP_POSITIVE_X		=					$8515
		#GL_TEXTURE_CUBE_MAP_NEGATIVE_X		=					$8516
		#GL_TEXTURE_CUBE_MAP_POSITIVE_Y		=					$8517
		#GL_TEXTURE_CUBE_MAP_NEGATIVE_Y		=					$8518
		#GL_TEXTURE_CUBE_MAP_POSITIVE_Z		=					$8519
		#GL_TEXTURE_CUBE_MAP_NEGATIVE_Z		=					$851A
		#GL_PROXY_TEXTURE_CUBE_MAP				 =					$851B
		#GL_MAX_CUBE_MAP_TEXTURE_SIZE			=					$851C
		#GL_COMPRESSED_RGB								 =					$84ED
		#GL_COMPRESSED_RGBA								=					$84EE
		#GL_TEXTURE_COMPRESSION_HINT			 =					$84EF
		#GL_TEXTURE_COMPRESSED_IMAGE_SIZE	=					$86A0
		#GL_TEXTURE_COMPRESSED						 =					$86A1
		#GL_NUM_COMPRESSED_TEXTURE_FORMATS =					$86A2
		#GL_COMPRESSED_TEXTURE_FORMATS		 =					$86A3
		#GL_CLAMP_TO_BORDER								=					$812D
	CompilerEndIf
	CompilerIf Defined(GL_VERSION_1_4,#PB_Constant)
		#GL_BLEND_DST_RGB									=					$80C8
		#GL_BLEND_SRC_RGB									=					$80C9
		#GL_BLEND_DST_ALPHA								=					$80CA
		#GL_BLEND_SRC_ALPHA								=					$80CB
		#GL_POINT_FADE_THRESHOLD_SIZE			=					$8128
		#GL_DEPTH_COMPONENT16							=					$81A5
		#GL_DEPTH_COMPONENT24							=					$81A6
		#GL_DEPTH_COMPONENT32							=					$81A7
		#GL_MIRRORED_REPEAT								=					$8370
		#GL_MAX_TEXTURE_LOD_BIAS					 =					$84FD
		#GL_TEXTURE_LOD_BIAS							 =					$8501
		#GL_INCR_WRAP											=					$8507
		#GL_DECR_WRAP											=					$8508
		#GL_TEXTURE_DEPTH_SIZE						 =					$884A
		#GL_TEXTURE_COMPARE_MODE					 =					$884C
		#GL_TEXTURE_COMPARE_FUNC					 =					$884D
	CompilerEndIf
	CompilerIf Defined(GL_VERSION_1_5,#PB_Constant)
		#GL_BUFFER_SIZE										=					$8764
		#GL_BUFFER_USAGE									 =					$8765
		#GL_QUERY_COUNTER_BITS						 =					$8864
		#GL_CURRENT_QUERY									=					$8865
		#GL_QUERY_RESULT									 =					$8866
		#GL_QUERY_RESULT_AVAILABLE				 =					$8867
		#GL_ARRAY_BUFFER									 =					$8892
		#GL_ELEMENT_ARRAY_BUFFER					 =					$8893
		#GL_ARRAY_BUFFER_BINDING					 =					$8894
		#GL_ELEMENT_ARRAY_BUFFER_BINDING	 =					$8895
		#GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING =					$889F
		#GL_READ_ONLY											=					$88B8
		#GL_WRITE_ONLY										 =					$88B9
		#GL_READ_WRITE										 =					$88BA
		#GL_BUFFER_ACCESS									=					$88BB
		#GL_BUFFER_MAPPED									=					$88BC
		#GL_BUFFER_MAP_POINTER						 =					$88BD
		#GL_STREAM_DRAW										=					$88E0
		#GL_STREAM_READ										=					$88E1
		#GL_STREAM_COPY										=					$88E2
		#GL_STATIC_DRAW										=					$88E4
		#GL_STATIC_READ										=					$88E5
		#GL_STATIC_COPY										=					$88E6
		#GL_DYNAMIC_DRAW									 =					$88E8
		#GL_DYNAMIC_READ									 =					$88E9
		#GL_DYNAMIC_COPY									 =					$88EA
		#GL_SAMPLES_PASSED								 =					$8914
	CompilerEndIf
	CompilerIf Defined(GL_VERSION_2_0,#PB_Constant)
		#GL_BLEND_EQUATION_RGB						 =					$8009
		#GL_VERTEX_ATTRIB_ARRAY_ENABLED		=					$8622
		#GL_VERTEX_ATTRIB_ARRAY_SIZE			 =					$8623
		#GL_VERTEX_ATTRIB_ARRAY_STRIDE		 =					$8624
		#GL_VERTEX_ATTRIB_ARRAY_TYPE			 =					$8625
		#GL_CURRENT_VERTEX_ATTRIB					=					$8626
		#GL_VERTEX_PROGRAM_POINT_SIZE			=					$8642
		#GL_VERTEX_ATTRIB_ARRAY_POINTER		=					$8645
		#GL_STENCIL_BACK_FUNC							=					$8800
		#GL_STENCIL_BACK_FAIL							=					$8801
		#GL_STENCIL_BACK_PASS_DEPTH_FAIL	 =					$8802
		#GL_STENCIL_BACK_PASS_DEPTH_PASS	 =					$8803
		#GL_MAX_DRAW_BUFFERS							 =					$8824
		#GL_DRAW_BUFFER0									 =					$8825
		#GL_DRAW_BUFFER1									 =					$8826
		#GL_DRAW_BUFFER2									 =					$8827
		#GL_DRAW_BUFFER3									 =					$8828
		#GL_DRAW_BUFFER4									 =					$8829
		#GL_DRAW_BUFFER5									 =					$882A
		#GL_DRAW_BUFFER6									 =					$882B
		#GL_DRAW_BUFFER7									 =					$882C
		#GL_DRAW_BUFFER8									 =					$882D
		#GL_DRAW_BUFFER9									 =					$882E
		#GL_DRAW_BUFFER10									=					$882F
		#GL_DRAW_BUFFER11									=					$8830
		#GL_DRAW_BUFFER12									=					$8831
		#GL_DRAW_BUFFER13									=					$8832
		#GL_DRAW_BUFFER14									=					$8833
		#GL_DRAW_BUFFER15									=					$8834
		#GL_BLEND_EQUATION_ALPHA					 =					$883D
		#GL_MAX_VERTEX_ATTRIBS						 =					$8869
		#GL_VERTEX_ATTRIB_ARRAY_NORMALIZED =					$886A
		#GL_MAX_TEXTURE_IMAGE_UNITS				=					$8872
		#GL_FRAGMENT_SHADER								=					$8B30
		#GL_VERTEX_SHADER									=					$8B31
		#GL_MAX_FRAGMENT_UNIFORM_COMPONENTS =					$8B49
		#GL_MAX_VERTEX_UNIFORM_COMPONENTS	=					$8B4A
		#GL_MAX_VARYING_FLOATS						 =					$8B4B
		#GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS =					$8B4C
		#GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS =					$8B4D
		#GL_SHADER_TYPE										=					$8B4F
		#GL_FLOAT_VEC2										 =					$8B50
		#GL_FLOAT_VEC3										 =					$8B51
		#GL_FLOAT_VEC4										 =					$8B52
		#GL_INT_VEC2											 =					$8B53
		#GL_INT_VEC3											 =					$8B54
		#GL_INT_VEC4											 =					$8B55
		#GL_BOOL													 =					$8B56
		#GL_BOOL_VEC2											=					$8B57
		#GL_BOOL_VEC3											=					$8B58
		#GL_BOOL_VEC4											=					$8B59
		#GL_FLOAT_MAT2										 =					$8B5A
		#GL_FLOAT_MAT3										 =					$8B5B
		#GL_FLOAT_MAT4										 =					$8B5C
		#GL_SAMPLER_1D										 =					$8B5D
		#GL_SAMPLER_2D										 =					$8B5E
		#GL_SAMPLER_3D										 =					$8B5F
		#GL_SAMPLER_CUBE									 =					$8B60
		#GL_SAMPLER_1D_SHADOW							=					$8B61
		#GL_SAMPLER_2D_SHADOW							=					$8B62
		#GL_DELETE_STATUS									=					$8B80
		#GL_COMPILE_STATUS								 =					$8B81
		#GL_LINK_STATUS										=					$8B82
		#GL_VALIDATE_STATUS								=					$8B83
		#GL_INFO_LOG_LENGTH								=					$8B84
		#GL_ATTACHED_SHADERS							 =					$8B85
		#GL_ACTIVE_UNIFORMS								=					$8B86
		#GL_ACTIVE_UNIFORM_MAX_LENGTH			=					$8B87
		#GL_SHADER_SOURCE_LENGTH					 =					$8B88
		#GL_ACTIVE_ATTRIBUTES							=					$8B89
		#GL_ACTIVE_ATTRIBUTE_MAX_LENGTH		=					$8B8A
		#GL_FRAGMENT_SHADER_DERIVATIVE_HINT =					$8B8B
		#GL_SHADING_LANGUAGE_VERSION			 =					$8B8C
		#GL_CURRENT_PROGRAM								=					$8B8D
		#GL_POINT_SPRITE_COORD_ORIGIN			=					$8CA0
		#GL_LOWER_LEFT										 =					$8CA1
		#GL_UPPER_LEFT										 =					$8CA2
		#GL_STENCIL_BACK_REF							 =					$8CA3
		#GL_STENCIL_BACK_VALUE_MASK				=					$8CA4
		#GL_STENCIL_BACK_WRITEMASK				 =					$8CA5
	CompilerEndIf
	CompilerIf Defined(GL_VERSION_2_1,#PB_Constant)
		#GL_PIXEL_PACK_BUFFER							=					$88EB
		#GL_PIXEL_UNPACK_BUFFER						=					$88EC
		#GL_PIXEL_PACK_BUFFER_BINDING			=					$88ED
		#GL_PIXEL_UNPACK_BUFFER_BINDING		=					$88EF
		#GL_FLOAT_MAT2x3									 =					$8B65
		#GL_FLOAT_MAT2x4									 =					$8B66
		#GL_FLOAT_MAT3x2									 =					$8B67
		#GL_FLOAT_MAT3x4									 =					$8B68
		#GL_FLOAT_MAT4x2									 =					$8B69
		#GL_FLOAT_MAT4x3									 =					$8B6A
		#GL_SRGB													 =					$8C40
		#GL_SRGB8													=					$8C41
		#GL_SRGB_ALPHA										 =					$8C42
		#GL_SRGB8_ALPHA8									 =					$8C43
		#GL_COMPRESSED_SRGB								=					$8C48
		#GL_COMPRESSED_SRGB_ALPHA					=					$8C49
	CompilerEndIf
	CompilerIf Defined(GL_VERSION_3_0,#PB_Constant)
		#GL_COMPARE_REF_TO_TEXTURE				 =					$884E
		#GL_CLIP_DISTANCE0								 =					$3000
		#GL_CLIP_DISTANCE1								 =					$3001
		#GL_CLIP_DISTANCE2								 =					$3002
		#GL_CLIP_DISTANCE3								 =					$3003
		#GL_CLIP_DISTANCE4								 =					$3004
		#GL_CLIP_DISTANCE5								 =					$3005
		#GL_CLIP_DISTANCE6								 =					$3006
		#GL_CLIP_DISTANCE7								 =					$3007
		#GL_MAX_CLIP_DISTANCES						 =					$0D32
		#GL_MAJOR_VERSION									=					$821B
		#GL_MINOR_VERSION									=					$821C
		#GL_NUM_EXTENSIONS								 =					$821D
		#GL_CONTEXT_FLAGS									=					$821E
		#GL_DEPTH_BUFFER									 =					$8223
		#GL_STENCIL_BUFFER								 =					$8224
		#GL_COMPRESSED_RED								 =					$8225
		#GL_COMPRESSED_RG									=					$8226
		#GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT =					$0001
		#GL_RGBA32F												=					$8814
		#GL_RGB32F												 =					$8815
		#GL_RGBA16F												=					$881A
		#GL_RGB16F												 =					$881B
		#GL_VERTEX_ATTRIB_ARRAY_INTEGER		=					$88FD
		#GL_MAX_ARRAY_TEXTURE_LAYERS			 =					$88FF
		#GL_MIN_PROGRAM_TEXEL_OFFSET			 =					$8904
		#GL_MAX_PROGRAM_TEXEL_OFFSET			 =					$8905
		#GL_CLAMP_READ_COLOR							 =					$891C
		#GL_FIXED_ONLY										 =					$891D
		#GL_MAX_VARYING_COMPONENTS				 =					$8B4B
		#GL_TEXTURE_1D_ARRAY							 =					$8C18
		#GL_PROXY_TEXTURE_1D_ARRAY				 =					$8C19
		#GL_TEXTURE_2D_ARRAY							 =					$8C1A
		#GL_PROXY_TEXTURE_2D_ARRAY				 =					$8C1B
		#GL_TEXTURE_BINDING_1D_ARRAY			 =					$8C1C
		#GL_TEXTURE_BINDING_2D_ARRAY			 =					$8C1D
		#GL_R11F_G11F_B10F								 =					$8C3A
		#GL_UNSIGNED_INT_10F_11F_11F_REV	 =					$8C3B
		#GL_RGB9_E5												=					$8C3D
		#GL_UNSIGNED_INT_5_9_9_9_REV			 =					$8C3E
		#GL_TEXTURE_SHARED_SIZE						=					$8C3F
		#GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH =					$8C76
		#GL_TRANSFORM_FEEDBACK_BUFFER_MODE =					$8C7F
		#GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS =					$8C80
		#GL_TRANSFORM_FEEDBACK_VARYINGS		=					$8C83
		#GL_TRANSFORM_FEEDBACK_BUFFER_START =					$8C84
		#GL_TRANSFORM_FEEDBACK_BUFFER_SIZE =					$8C85
		#GL_PRIMITIVES_GENERATED					 =					$8C87
		#GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN =					$8C88
		#GL_RASTERIZER_DISCARD						 =					$8C89
		#GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS =					$8C8A
		#GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS =					$8C8B
		#GL_INTERLEAVED_ATTRIBS						=					$8C8C
		#GL_SEPARATE_ATTRIBS							 =					$8C8D
		#GL_TRANSFORM_FEEDBACK_BUFFER			=					$8C8E
		#GL_TRANSFORM_FEEDBACK_BUFFER_BINDING =					$8C8F
		#GL_RGBA32UI											 =					$8D70
		#GL_RGB32UI												=					$8D71
		#GL_RGBA16UI											 =					$8D76
		#GL_RGB16UI												=					$8D77
		#GL_RGBA8UI												=					$8D7C
		#GL_RGB8UI												 =					$8D7D
		#GL_RGBA32I												=					$8D82
		#GL_RGB32I												 =					$8D83
		#GL_RGBA16I												=					$8D88
		#GL_RGB16I												 =					$8D89
		#GL_RGBA8I												 =					$8D8E
		#GL_RGB8I													=					$8D8F
		#GL_RED_INTEGER										=					$8D94
		#GL_GREEN_INTEGER									=					$8D95
		#GL_BLUE_INTEGER									 =					$8D96
		#GL_RGB_INTEGER										=					$8D98
		#GL_RGBA_INTEGER									 =					$8D99
		#GL_BGR_INTEGER										=					$8D9A
		#GL_BGRA_INTEGER									 =					$8D9B
		#GL_SAMPLER_1D_ARRAY							 =					$8DC0
		#GL_SAMPLER_2D_ARRAY							 =					$8DC1
		#GL_SAMPLER_1D_ARRAY_SHADOW				=					$8DC3
		#GL_SAMPLER_2D_ARRAY_SHADOW				=					$8DC4
		#GL_SAMPLER_CUBE_SHADOW						=					$8DC5
		#GL_UNSIGNED_INT_VEC2							=					$8DC6
		#GL_UNSIGNED_INT_VEC3							=					$8DC7
		#GL_UNSIGNED_INT_VEC4							=					$8DC8
		#GL_INT_SAMPLER_1D								 =					$8DC9
		#GL_INT_SAMPLER_2D								 =					$8DCA
		#GL_INT_SAMPLER_3D								 =					$8DCB
		#GL_INT_SAMPLER_CUBE							 =					$8DCC
		#GL_INT_SAMPLER_1D_ARRAY					 =					$8DCE
		#GL_INT_SAMPLER_2D_ARRAY					 =					$8DCF
		#GL_UNSIGNED_INT_SAMPLER_1D				=					$8DD1
		#GL_UNSIGNED_INT_SAMPLER_2D				=					$8DD2
		#GL_UNSIGNED_INT_SAMPLER_3D				=					$8DD3
		#GL_UNSIGNED_INT_SAMPLER_CUBE			=					$8DD4
		#GL_UNSIGNED_INT_SAMPLER_1D_ARRAY	=					$8DD6
		#GL_UNSIGNED_INT_SAMPLER_2D_ARRAY	=					$8DD7
		#GL_QUERY_WAIT										 =					$8E13
		#GL_QUERY_NO_WAIT									=					$8E14
		#GL_QUERY_BY_REGION_WAIT					 =					$8E15
		#GL_QUERY_BY_REGION_NO_WAIT				=					$8E16
		#GL_BUFFER_ACCESS_FLAGS						=					$911F
		#GL_BUFFER_MAP_LENGTH							=					$9120
		#GL_BUFFER_MAP_OFFSET							=					$9121
		
		#GL_INVALID_FRAMEBUFFER_OPERATION	=					$0506
		#GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING =					$8210
		#GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE =					$8211
		#GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE =					$8212
		#GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE =					$8213
		#GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE =					$8214
		#GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE =					$8215
		#GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE =					$8216
		#GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE =					$8217
		#GL_FRAMEBUFFER_DEFAULT						=					$8218
		#GL_FRAMEBUFFER_UNDEFINED					=					$8219
		#GL_DEPTH_STENCIL_ATTACHMENT			 =					$821A
		#GL_MAX_RENDERBUFFER_SIZE					=					$84E8
		#GL_DEPTH_STENCIL									=					$84F9
		#GL_UNSIGNED_INT_24_8							=					$84FA
		#GL_DEPTH24_STENCIL8							 =					$88F0
		#GL_TEXTURE_STENCIL_SIZE					 =					$88F1
		#GL_TEXTURE_RED_TYPE							 =					$8C10
		#GL_TEXTURE_GREEN_TYPE						 =					$8C11
		#GL_TEXTURE_BLUE_TYPE							=					$8C12
		#GL_TEXTURE_ALPHA_TYPE						 =					$8C13
		#GL_TEXTURE_DEPTH_TYPE						 =					$8C16
		#GL_UNSIGNED_NORMALIZED						=					$8C17
		#GL_FRAMEBUFFER_BINDING						=					$8CA6
		#GL_DRAW_FRAMEBUFFER_BINDING			 =					#GL_FRAMEBUFFER_BINDING
		#GL_RENDERBUFFER_BINDING					 =					$8CA7
		#GL_READ_FRAMEBUFFER							 =					$8CA8
		#GL_DRAW_FRAMEBUFFER							 =					$8CA9
		#GL_READ_FRAMEBUFFER_BINDING			 =					$8CAA
		#GL_RENDERBUFFER_SAMPLES					 =					$8CAB
		#GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE =					$8CD0
		#GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME =					$8CD1
		#GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL =					$8CD2
		#GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE =					$8CD3
		#GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER =					$8CD4
		#GL_FRAMEBUFFER_COMPLETE					 =					$8CD5
		#GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT =					$8CD6
		#GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT =					$8CD7
		#GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER =					$8CDB
		#GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER =					$8CDC
		#GL_FRAMEBUFFER_UNSUPPORTED				=					$8CDD
		#GL_MAX_COLOR_ATTACHMENTS					=					$8CDF
		#GL_COLOR_ATTACHMENT0							=					$8CE0
		#GL_COLOR_ATTACHMENT1							=					$8CE1
		#GL_COLOR_ATTACHMENT2							=					$8CE2
		#GL_COLOR_ATTACHMENT3							=					$8CE3
		#GL_COLOR_ATTACHMENT4							=					$8CE4
		#GL_COLOR_ATTACHMENT5							=					$8CE5
		#GL_COLOR_ATTACHMENT6							=					$8CE6
		#GL_COLOR_ATTACHMENT7							=					$8CE7
		#GL_COLOR_ATTACHMENT8							=					$8CE8
		#GL_COLOR_ATTACHMENT9							=					$8CE9
		#GL_COLOR_ATTACHMENT10						 =					$8CEA
		#GL_COLOR_ATTACHMENT11						 =					$8CEB
		#GL_COLOR_ATTACHMENT12						 =					$8CEC
		#GL_COLOR_ATTACHMENT13						 =					$8CED
		#GL_COLOR_ATTACHMENT14						 =					$8CEE
		#GL_COLOR_ATTACHMENT15						 =					$8CEF
		#GL_DEPTH_ATTACHMENT							 =					$8D00
		#GL_STENCIL_ATTACHMENT						 =					$8D20
		#GL_FRAMEBUFFER										=					$8D40
		#GL_RENDERBUFFER									 =					$8D41
		#GL_RENDERBUFFER_WIDTH						 =					$8D42
		#GL_RENDERBUFFER_HEIGHT						=					$8D43
		#GL_RENDERBUFFER_INTERNAL_FORMAT	 =					$8D44
		#GL_STENCIL_INDEX1								 =					$8D46
		#GL_STENCIL_INDEX4								 =					$8D47
		#GL_STENCIL_INDEX8								 =					$8D48
		#GL_STENCIL_INDEX16								=					$8D49
		#GL_RENDERBUFFER_RED_SIZE					=					$8D50
		#GL_RENDERBUFFER_GREEN_SIZE				=					$8D51
		#GL_RENDERBUFFER_BLUE_SIZE				 =					$8D52
		#GL_RENDERBUFFER_ALPHA_SIZE				=					$8D53
		#GL_RENDERBUFFER_DEPTH_SIZE				=					$8D54
		#GL_RENDERBUFFER_STENCIL_SIZE			=					$8D55
		#GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE =					$8D56
		#GL_MAX_SAMPLES										=					$8D57
		
		#GL_MAP_READ_BIT									 =					$0001
		#GL_MAP_WRITE_BIT									=					$0002
		#GL_MAP_INVALIDATE_RANGE_BIT			 =					$0004
		#GL_MAP_INVALIDATE_BUFFER_BIT			=					$0008
		#GL_MAP_FLUSH_EXPLICIT_BIT				 =					$0010
		#GL_MAP_UNSYNCHRONIZED_BIT				 =					$0020
		
		#GL_VERTEX_ARRAY_BINDING					 =					$85B5
		; /* Reuse tokens from ARB_depth_buffer_float */
		; /* reuse GL_DEPTH_COMPONENT32F */
		; /* reuse GL_DEPTH32F_STENCIL8 */
		; /* reuse GL_FLOAT_32_UNSIGNED_INT_24_8_REV */
		; /* Reuse tokens from ARB_framebuffer_object */
		; /* reuse GL_INVALID_FRAMEBUFFER_OPERATION */
		; /* reuse GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING */
		; /* reuse GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE */
		; /* reuse GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE */
		; /* reuse GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE */
		; /* reuse GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE */
		; /* reuse GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE */
		; /* reuse GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE */
		; /* reuse GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE */
		; /* reuse GL_FRAMEBUFFER_DEFAULT */
		; /* reuse GL_FRAMEBUFFER_UNDEFINED */
		; /* reuse GL_DEPTH_STENCIL_ATTACHMENT */
		; /* reuse GL_INDEX */
		; /* reuse GL_MAX_RENDERBUFFER_SIZE */
		; /* reuse GL_DEPTH_STENCIL */
		; /* reuse GL_UNSIGNED_INT_24_8 */
		; /* reuse GL_DEPTH24_STENCIL8 */
		; /* reuse GL_TEXTURE_STENCIL_SIZE */
		; /* reuse GL_TEXTURE_RED_TYPE */
		; /* reuse GL_TEXTURE_GREEN_TYPE */
		; /* reuse GL_TEXTURE_BLUE_TYPE */
		; /* reuse GL_TEXTURE_ALPHA_TYPE */
		; /* reuse GL_TEXTURE_DEPTH_TYPE */
		; /* reuse GL_UNSIGNED_NORMALIZED */
		; /* reuse GL_FRAMEBUFFER_BINDING */
		; /* reuse GL_DRAW_FRAMEBUFFER_BINDING */
		; /* reuse GL_RENDERBUFFER_BINDING */
		; /* reuse GL_READ_FRAMEBUFFER */
		; /* reuse GL_DRAW_FRAMEBUFFER */
		; /* reuse GL_READ_FRAMEBUFFER_BINDING */
		; /* reuse GL_RENDERBUFFER_SAMPLES */
		; /* reuse GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE */
		; /* reuse GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME */
		; /* reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL */
		; /* reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE */
		; /* reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */
		; /* reuse GL_FRAMEBUFFER_COMPLETE */
		; /* reuse GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT */
		; /* reuse GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT */
		; /* reuse GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER */
		; /* reuse GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER */
		; /* reuse GL_FRAMEBUFFER_UNSUPPORTED */
		; /* reuse GL_MAX_COLOR_ATTACHMENTS */
		; /* reuse GL_COLOR_ATTACHMENT0 */
		; /* reuse GL_COLOR_ATTACHMENT1 */
		; /* reuse GL_COLOR_ATTACHMENT2 */
		; /* reuse GL_COLOR_ATTACHMENT3 */
		; /* reuse GL_COLOR_ATTACHMENT4 */
		; /* reuse GL_COLOR_ATTACHMENT5 */
		; /* reuse GL_COLOR_ATTACHMENT6 */
		; /* reuse GL_COLOR_ATTACHMENT7 */
		; /* reuse GL_COLOR_ATTACHMENT8 */
		; /* reuse GL_COLOR_ATTACHMENT9 */
		; /* reuse GL_COLOR_ATTACHMENT10 */
		; /* reuse GL_COLOR_ATTACHMENT11 */
		; /* reuse GL_COLOR_ATTACHMENT12 */
		; /* reuse GL_COLOR_ATTACHMENT13 */
		; /* reuse GL_COLOR_ATTACHMENT14 */
		; /* reuse GL_COLOR_ATTACHMENT15 */
		; /* reuse GL_DEPTH_ATTACHMENT */
		; /* reuse GL_STENCIL_ATTACHMENT */
		; /* reuse GL_FRAMEBUFFER */
		; /* reuse GL_RENDERBUFFER */
		; /* reuse GL_RENDERBUFFER_WIDTH */
		; /* reuse GL_RENDERBUFFER_HEIGHT */
		; /* reuse GL_RENDERBUFFER_INTERNAL_FORMAT */
		; /* reuse GL_STENCIL_INDEX1 */
		; /* reuse GL_STENCIL_INDEX4 */
		; /* reuse GL_STENCIL_INDEX8 */
		; /* reuse GL_STENCIL_INDEX16 */
		; /* reuse GL_RENDERBUFFER_RED_SIZE */
		; /* reuse GL_RENDERBUFFER_GREEN_SIZE */
		; /* reuse GL_RENDERBUFFER_BLUE_SIZE */
		; /* reuse GL_RENDERBUFFER_ALPHA_SIZE */
		; /* reuse GL_RENDERBUFFER_DEPTH_SIZE */
		; /* reuse GL_RENDERBUFFER_STENCIL_SIZE */
		; /* reuse GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE */
		; /* reuse GL_MAX_SAMPLES */
		; /* Reuse tokens from ARB_framebuffer_sRGB */
		; /* reuse GL_FRAMEBUFFER_SRGB */
		; /* Reuse tokens from ARB_half_float_vertex */
		; /* reuse GL_HALF_FLOAT */
		; /* Reuse tokens from ARB_map_buffer_range */
		; /* reuse GL_MAP_READ_BIT */
		; /* reuse GL_MAP_WRITE_BIT */
		; /* reuse GL_MAP_INVALIDATE_RANGE_BIT */
		; /* reuse GL_MAP_INVALIDATE_BUFFER_BIT */
		; /* reuse GL_MAP_FLUSH_EXPLICIT_BIT */
		; /* reuse GL_MAP_UNSYNCHRONIZED_BIT */
		; /* Reuse tokens from ARB_texture_compression_rgtc */
		; /* reuse GL_COMPRESSED_RED_RGTC1 */
		; /* reuse GL_COMPRESSED_SIGNED_RED_RGTC1 */
		; /* reuse GL_COMPRESSED_RG_RGTC2 */
		; /* reuse GL_COMPRESSED_SIGNED_RG_RGTC2 */
		; /* Reuse tokens from ARB_texture_rg */
		; /* reuse GL_RG */
		; /* reuse GL_RG_INTEGER */
		; /* reuse GL_R8 */
		; /* reuse GL_R16 */
		; /* reuse GL_RG8 */
		; /* reuse GL_RG16 */
		; /* reuse GL_R16F */
		; /* reuse GL_R32F */
		; /* reuse GL_RG16F */
		; /* reuse GL_RG32F */
		; /* reuse GL_R8I */
		; /* reuse GL_R8UI */
		; /* reuse GL_R16I */
		; /* reuse GL_R16UI */
		; /* reuse GL_R32I */
		; /* reuse GL_R32UI */
		; /* reuse GL_RG8I */
		; /* reuse GL_RG8UI */
		; /* reuse GL_RG16I */
		; /* reuse GL_RG16UI */
		; /* reuse GL_RG32I */
		; /* reuse GL_RG32UI */
		; /* Reuse tokens from ARB_vertex_array_object */
		; /* reuse GL_VERTEX_ARRAY_BINDING */
	CompilerEndIf
	CompilerIf Defined(GL_VERSION_3_1,#PB_Constant)
		#GL_SAMPLER_2D_RECT								=					$8B63
		#GL_SAMPLER_2D_RECT_SHADOW				 =					$8B64
		#GL_SAMPLER_BUFFER								 =					$8DC2
		#GL_INT_SAMPLER_2D_RECT						=					$8DCD
		#GL_INT_SAMPLER_BUFFER						 =					$8DD0
		#GL_UNSIGNED_INT_SAMPLER_2D_RECT	 =					$8DD5
		#GL_UNSIGNED_INT_SAMPLER_BUFFER		=					$8DD8
		#GL_TEXTURE_BUFFER								 =					$8C2A
		#GL_MAX_TEXTURE_BUFFER_SIZE				=					$8C2B
		#GL_TEXTURE_BINDING_BUFFER				 =					$8C2C
		#GL_TEXTURE_BUFFER_DATA_STORE_BINDING =					$8C2D
		#GL_TEXTURE_BUFFER_FORMAT					=					$8C2E
		#GL_TEXTURE_RECTANGLE							=					$84F5
		#GL_TEXTURE_BINDING_RECTANGLE			=					$84F6
		#GL_PROXY_TEXTURE_RECTANGLE				=					$84F7
		#GL_MAX_RECTANGLE_TEXTURE_SIZE		 =					$84F8
		#GL_RED_SNORM											=					$8F90
		#GL_RG_SNORM											 =					$8F91
		#GL_RGB_SNORM											=					$8F92
		#GL_RGBA_SNORM										 =					$8F93
		#GL_R8_SNORM											 =					$8F94
		#GL_RG8_SNORM											=					$8F95
		#GL_RGB8_SNORM										 =					$8F96
		#GL_RGBA8_SNORM										=					$8F97
		#GL_R16_SNORM											=					$8F98
		#GL_RG16_SNORM										 =					$8F99
		#GL_RGB16_SNORM										=					$8F9A
		#GL_RGBA16_SNORM									 =					$8F9B
		#GL_SIGNED_NORMALIZED							=					$8F9C
		#GL_PRIMITIVE_RESTART							=					$8F9D
		#GL_PRIMITIVE_RESTART_INDEX				=					$8F9E
		
		#GL_UNIFORM_BUFFER								 =					$8A11
		#GL_UNIFORM_BUFFER_BINDING				 =					$8A28
		#GL_UNIFORM_BUFFER_START					 =					$8A29
		#GL_UNIFORM_BUFFER_SIZE						=					$8A2A
		#GL_MAX_VERTEX_UNIFORM_BLOCKS			=					$8A2B
		#GL_MAX_GEOMETRY_UNIFORM_BLOCKS		=					$8A2C
		#GL_MAX_FRAGMENT_UNIFORM_BLOCKS		=					$8A2D
		#GL_MAX_COMBINED_UNIFORM_BLOCKS		=					$8A2E
		#GL_MAX_UNIFORM_BUFFER_BINDINGS		=					$8A2F
		#GL_MAX_UNIFORM_BLOCK_SIZE				 =					$8A30
		#GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS =					$8A31
		#GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS =					$8A32
		#GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS =					$8A33
		#GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT =					$8A34
		#GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH =					$8A35
		#GL_ACTIVE_UNIFORM_BLOCKS					=					$8A36
		#GL_UNIFORM_TYPE									 =					$8A37
		#GL_UNIFORM_SIZE									 =					$8A38
		#GL_UNIFORM_NAME_LENGTH						=					$8A39
		#GL_UNIFORM_BLOCK_INDEX						=					$8A3A
		#GL_UNIFORM_OFFSET								 =					$8A3B
		#GL_UNIFORM_ARRAY_STRIDE					 =					$8A3C
		#GL_UNIFORM_MATRIX_STRIDE					=					$8A3D
		#GL_UNIFORM_IS_ROW_MAJOR					 =					$8A3E
		#GL_UNIFORM_BLOCK_BINDING					=					$8A3F
		#GL_UNIFORM_BLOCK_DATA_SIZE				=					$8A40
		#GL_UNIFORM_BLOCK_NAME_LENGTH			=					$8A41
		#GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS	=					$8A42
		#GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES =					$8A43
		#GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER =					$8A44
		#GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER =					$8A45
		#GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER =					$8A46
		#GL_INVALID_INDEX									=					$FFFFFFFF

		#GL_COPY_READ_BUFFER							 =					$8F36
		#GL_COPY_WRITE_BUFFER							=					$8F37
		; /* Reuse tokens from ARB_copy_buffer */
		; /* reuse GL_COPY_READ_BUFFER */
		; /* reuse GL_COPY_WRITE_BUFFER */
		; /* Would reuse tokens from ARB_draw_instanced, but it has none */
		; /* Reuse tokens from ARB_uniform_buffer_object */
		; /* reuse GL_UNIFORM_BUFFER */
		; /* reuse GL_UNIFORM_BUFFER_BINDING */
		; /* reuse GL_UNIFORM_BUFFER_START */
		; /* reuse GL_UNIFORM_BUFFER_SIZE */
		; /* reuse GL_MAX_VERTEX_UNIFORM_BLOCKS */
		; /* reuse GL_MAX_FRAGMENT_UNIFORM_BLOCKS */
		; /* reuse GL_MAX_COMBINED_UNIFORM_BLOCKS */
		; /* reuse GL_MAX_UNIFORM_BUFFER_BINDINGS */
		; /* reuse GL_MAX_UNIFORM_BLOCK_SIZE */
		; /* reuse GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS */
		; /* reuse GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS */
		; /* reuse GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT */
		; /* reuse GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */
		; /* reuse GL_ACTIVE_UNIFORM_BLOCKS */
		; /* reuse GL_UNIFORM_TYPE */
		; /* reuse GL_UNIFORM_SIZE */
		; /* reuse GL_UNIFORM_NAME_LENGTH */
		; /* reuse GL_UNIFORM_BLOCK_INDEX */
		; /* reuse GL_UNIFORM_OFFSET */
		; /* reuse GL_UNIFORM_ARRAY_STRIDE */
		; /* reuse GL_UNIFORM_MATRIX_STRIDE */
		; /* reuse GL_UNIFORM_IS_ROW_MAJOR */
		; /* reuse GL_UNIFORM_BLOCK_BINDING */
		; /* reuse GL_UNIFORM_BLOCK_DATA_SIZE */
		; /* reuse GL_UNIFORM_BLOCK_NAME_LENGTH */
		; /* reuse GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS */
		; /* reuse GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES */
		; /* reuse GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER */
		; /* reuse GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER */
		; /* reuse GL_INVALID_INDEX */
	CompilerEndIf
	CompilerIf Defined(GL_VERSION_3_2,#PB_Constant)
		#GL_CONTEXT_CORE_PROFILE_BIT			 =					$00000001
		#GL_CONTEXT_COMPATIBILITY_PROFILE_BIT =					$00000002
		#GL_LINES_ADJACENCY								=					$000A
		#GL_LINE_STRIP_ADJACENCY					 =					$000B
		#GL_TRIANGLES_ADJACENCY						=					$000C
		#GL_TRIANGLE_STRIP_ADJACENCY			 =					$000D
		#GL_PROGRAM_POINT_SIZE						 =					$8642
		#GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS =					$8C29
		#GL_FRAMEBUFFER_ATTACHMENT_LAYERED =					$8DA7
		#GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS =					$8DA8
		#GL_GEOMETRY_SHADER								=					$8DD9
		#GL_GEOMETRY_VERTICES_OUT					=					$8916
		#GL_GEOMETRY_INPUT_TYPE						=					$8917
		#GL_GEOMETRY_OUTPUT_TYPE					 =					$8918
		#GL_MAX_GEOMETRY_UNIFORM_COMPONENTS =					$8DDF
		#GL_MAX_GEOMETRY_OUTPUT_VERTICES	 =					$8DE0
		#GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS =					$8DE1
		#GL_MAX_VERTEX_OUTPUT_COMPONENTS	 =					$9122
		#GL_MAX_GEOMETRY_INPUT_COMPONENTS	=					$9123
		#GL_MAX_GEOMETRY_OUTPUT_COMPONENTS =					$9124
		#GL_MAX_FRAGMENT_INPUT_COMPONENTS	=					$9125
		#GL_CONTEXT_PROFILE_MASK					 =					$9126
		
		#GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION =					$8E4C
		#GL_FIRST_VERTEX_CONVENTION				=					$8E4D
		#GL_LAST_VERTEX_CONVENTION				 =					$8E4E
		#GL_PROVOKING_VERTEX							 =					$8E4F
		
		#GL_MAX_SERVER_WAIT_TIMEOUT				=					$9111
		#GL_OBJECT_TYPE										=					$9112
		#GL_SYNC_CONDITION								 =					$9113
		#GL_SYNC_STATUS										=					$9114
		#GL_SYNC_FLAGS										 =					$9115
		#GL_SYNC_FENCE										 =					$9116
		#GL_SYNC_GPU_COMMANDS_COMPLETE		 =					$9117
		#GL_UNSIGNALED										 =					$9118
		#GL_SIGNALED											 =					$9119
		#GL_ALREADY_SIGNALED							 =					$911A
		#GL_TIMEOUT_EXPIRED								=					$911B
		#GL_CONDITION_SATISFIED						=					$911C
		#GL_WAIT_FAILED										=					$911D
		#GL_SYNC_FLUSH_COMMANDS_BIT				=					$00000001
		#GL_TIMEOUT_IGNORED								=					$FFFFFFFFFFFFFFFF
		
		#GL_SAMPLE_POSITION								=					$8E50
		#GL_SAMPLE_MASK										=					$8E51
		#GL_SAMPLE_MASK_VALUE							=					$8E52
		#GL_MAX_SAMPLE_MASK_WORDS					=					$8E59
		#GL_TEXTURE_2D_MULTISAMPLE				 =					$9100
		#GL_PROXY_TEXTURE_2D_MULTISAMPLE	 =					$9101
		#GL_TEXTURE_2D_MULTISAMPLE_ARRAY	 =					$9102
		#GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY =					$9103
		#GL_TEXTURE_BINDING_2D_MULTISAMPLE =					$9104
		#GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY =					$9105
		#GL_TEXTURE_SAMPLES								=					$9106
		#GL_TEXTURE_FIXED_SAMPLE_LOCATIONS =					$9107
		#GL_SAMPLER_2D_MULTISAMPLE				 =					$9108
		#GL_INT_SAMPLER_2D_MULTISAMPLE		 =					$9109
		#GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE =					$910A
		#GL_SAMPLER_2D_MULTISAMPLE_ARRAY	 =					$910B
		#GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY =					$910C
		#GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY =					$910D
		#GL_MAX_COLOR_TEXTURE_SAMPLES			=					$910E
		#GL_MAX_DEPTH_TEXTURE_SAMPLES			=					$910F
		#GL_MAX_INTEGER_SAMPLES						=					$9110
		
		; /* reuse GL_MAX_VARYING_COMPONENTS */
		; /* reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */
		; /* Reuse tokens from ARB_depth_clamp */
		; /* reuse GL_DEPTH_CLAMP */
		; /* Would reuse tokens from ARB_draw_elements_base_vertex, but it has none */
		; /* Would reuse tokens from ARB_fragment_coord_conventions, but it has none */
		; /* Reuse tokens from ARB_provoking_vertex */
		; /* reuse GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION */
		; /* reuse GL_FIRST_VERTEX_CONVENTION */
		; /* reuse GL_LAST_VERTEX_CONVENTION */
		; /* reuse GL_PROVOKING_VERTEX */
		; /* Reuse tokens from ARB_seamless_cube_map */
		; /* reuse GL_TEXTURE_CUBE_MAP_SEAMLESS */
		; /* Reuse tokens from ARB_sync */
		; /* reuse GL_MAX_SERVER_WAIT_TIMEOUT */
		; /* reuse GL_OBJECT_TYPE */
		; /* reuse GL_SYNC_CONDITION */
		; /* reuse GL_SYNC_STATUS */
		; /* reuse GL_SYNC_FLAGS */
		; /* reuse GL_SYNC_FENCE */
		; /* reuse GL_SYNC_GPU_COMMANDS_COMPLETE */
		; /* reuse GL_UNSIGNALED */
		; /* reuse GL_SIGNALED */
		; /* reuse GL_ALREADY_SIGNALED */
		; /* reuse GL_TIMEOUT_EXPIRED */
		; /* reuse GL_CONDITION_SATISFIED */
		; /* reuse GL_WAIT_FAILED */
		; /* reuse GL_TIMEOUT_IGNORED */
		; /* reuse GL_SYNC_FLUSH_COMMANDS_BIT */
		; /* reuse GL_TIMEOUT_IGNORED */
		; /* Reuse tokens from ARB_texture_multisample */
		; /* reuse GL_SAMPLE_POSITION */
		; /* reuse GL_SAMPLE_MASK */
		; /* reuse GL_SAMPLE_MASK_VALUE */
		; /* reuse GL_MAX_SAMPLE_MASK_WORDS */
		; /* reuse GL_TEXTURE_2D_MULTISAMPLE */
		; /* reuse GL_PROXY_TEXTURE_2D_MULTISAMPLE */
		; /* reuse GL_TEXTURE_2D_MULTISAMPLE_ARRAY */
		; /* reuse GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY */
		; /* reuse GL_TEXTURE_BINDING_2D_MULTISAMPLE */
		; /* reuse GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY */
		; /* reuse GL_TEXTURE_SAMPLES */
		; /* reuse GL_TEXTURE_FIXED_SAMPLE_LOCATIONS */
		; /* reuse GL_SAMPLER_2D_MULTISAMPLE */
		; /* reuse GL_INT_SAMPLER_2D_MULTISAMPLE */
		; /* reuse GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE */
		; /* reuse GL_SAMPLER_2D_MULTISAMPLE_ARRAY */
		; /* reuse GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY */
		; /* reuse GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY */
		; /* reuse GL_MAX_COLOR_TEXTURE_SAMPLES */
		; /* reuse GL_MAX_DEPTH_TEXTURE_SAMPLES */
		; /* reuse GL_MAX_INTEGER_SAMPLES */
		; /* Don't need to reuse tokens from ARB_vertex_array_bgra since they're already in 1.2 core */
	CompilerEndIf
	CompilerIf Defined(GL_ARB_depth_buffer_float,#PB_Constant)
		#GL_DEPTH_COMPONENT32F						 =					$8CAC
		#GL_DEPTH32F_STENCIL8							=					$8CAD
		#GL_FLOAT_32_UNSIGNED_INT_24_8_REV =					$8DAD
	CompilerEndIf

	CompilerIf Defined(GL_ARB_framebuffer_sRGB,#PB_Constant)
		#GL_FRAMEBUFFER_SRGB							 =					$8DB9
	CompilerEndIf
	CompilerIf Defined(GL_ARB_half_float_vertex,#PB_Constant)
		#GL_HALF_FLOAT										 =					$140B
	CompilerEndIf

	CompilerIf Defined(GL_ARB_texture_compression_rgtc,#PB_Constant)
		#GL_COMPRESSED_RED_RGTC1					 =					$8DBB
		#GL_COMPRESSED_SIGNED_RED_RGTC1		=					$8DBC
		#GL_COMPRESSED_RG_RGTC2						=					$8DBD
		#GL_COMPRESSED_SIGNED_RG_RGTC2		 =					$8DBE
	CompilerEndIf
	CompilerIf Defined(GL_ARB_texture_rg,#PB_Constant)
		#GL_RG														 =					$8227
		#GL_RG_INTEGER										 =					$8228
		#GL_R8														 =					$8229
		#GL_R16														=					$822A
		#GL_RG8														=					$822B
		#GL_RG16													 =					$822C
		#GL_R16F													 =					$822D
		#GL_R32F													 =					$822E
		#GL_RG16F													=					$822F
		#GL_RG32F													=					$8230
		#GL_R8I														=					$8231
		#GL_R8UI													 =					$8232
		#GL_R16I													 =					$8233
		#GL_R16UI													=					$8234
		#GL_R32I													 =					$8235
		#GL_R32UI													=					$8236
		#GL_RG8I													 =					$8237
		#GL_RG8UI													=					$8238
		#GL_RG16I													=					$8239
		#GL_RG16UI												 =					$823A
		#GL_RG32I													=					$823B
		#GL_RG32UI												 =					$823C
	CompilerEndIf

	CompilerIf Defined(GL_ARB_depth_clamp,#PB_Constant)
		#GL_DEPTH_CLAMP										=					$864F
	CompilerEndIf
	CompilerIf Defined(GL_ARB_draw_elements_base_vertex,#PB_Constant)
	CompilerEndIf
	CompilerIf Defined(GL_ARB_fragment_coord_conventions,#PB_Constant)
	CompilerEndIf

	CompilerIf Defined(GL_ARB_seamless_cube_map,#PB_Constant)
		#GL_TEXTURE_CUBE_MAP_SEAMLESS			=					$884F
	CompilerEndIf

	CompilerIf Defined(GL_ARB_vertex_array_bgra,#PB_Constant)
		;/* reuse GL_BGRA */
	CompilerEndIf
	CompilerIf Defined(GL_ARB_draw_buffers_blend,#PB_Constant)
	CompilerEndIf
	CompilerIf Defined(GL_ARB_sample_shading,#PB_Constant)
		#GL_SAMPLE_SHADING								 =					$8C36
		#GL_MIN_SAMPLE_SHADING_VALUE			 =					$8C37
	CompilerEndIf
	CompilerIf Defined(GL_ARB_texture_cube_map_array,#PB_Constant)
		#GL_TEXTURE_CUBE_MAP_ARRAY				 =					$9009
		#GL_TEXTURE_BINDING_CUBE_MAP_ARRAY =					$900A
		#GL_PROXY_TEXTURE_CUBE_MAP_ARRAY	 =					$900B
		#GL_SAMPLER_CUBE_MAP_ARRAY				 =					$900C
		#GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW	=					$900D
		#GL_INT_SAMPLER_CUBE_MAP_ARRAY		 =					$900E
		#GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY =					$900F
	CompilerEndIf
	CompilerIf Defined(GL_ARB_texture_gather,#PB_Constant)
		#GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET =					$8E5E
		#GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET =					$8E5F
		#GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS =			$8F9F
	CompilerEndIf
;}
;{ Types
	Macro GLenum(V); typedef unsigned int GLenum;
		V.l
	EndMacro
	Macro GLboolean(V); typedef unsigned char GLboolean;
		V.a
	EndMacro
	Macro GLbitfield(V); typedef unsigned int GLbitfield; 
		V.l
	EndMacro
	Macro GLbyte(V); typedef signed char GLbyte;
		V.b
	EndMacro
	Macro GLshort(V); typedef short GLshort;
		V.w
	EndMacro
	Macro GLint(V); typedef int GLint;
		V.l
	EndMacro
	Macro GLsizei(V); typedef int GLsizei; 
		V.l
	EndMacro
	Macro GLubyte(V); typedef unsigned char GLubyte;
		V.a
	EndMacro
	Macro GLushort(V); typedef unsigned short GLushort;
		V.u
	EndMacro
	Macro GLuint(V); typedef unsigned int GLuint;
		V.l
	EndMacro
	Macro GLfloat(V); typedef float GLfloat;
		V.f
	EndMacro
	Macro GLclampf(V); typedef float GLclampf;
		V.f
	EndMacro
	Macro GLdouble(V); typedef double GLdouble;
		V.d
	EndMacro
	Macro GLclampd(V); typedef double GLclampd;
		V.d
	EndMacro
	Macro GLvoid(V); typedef void GLvoid; 
	EndMacro
	Macro GLchar(V); typedef char GLchar;
		V.c
	EndMacro
	Macro GLint64(V); typedef int64_t GLint64;
		V.q
	EndMacro
	Macro GLuint64(V); typedef uint64_t GLuint64;
		V.q
	EndMacro
	Macro GLsync(V); typedef struct __GLsync *GLsync;
		V.l
	EndMacro
	Macro pGLenum(V); typedef unsigned int GLenum;
		*V
	EndMacro
	Macro pGLboolean(V); typedef unsigned char GLboolean;
		*V
	EndMacro
	Macro pGLbitfield(V); typedef unsigned int GLbitfield; 
		*V
	EndMacro
	Macro pGLbyte(V); typedef signed char GLbyte;
		*V
	EndMacro
	Macro pGLshort(V); typedef short GLshort;
		*V
	EndMacro
	Macro pGLint(V); typedef int GLint;
		*V
	EndMacro
	Macro pGLsizei(V); typedef int GLsizei; 
		*V
	EndMacro
	Macro pGLubyte(V); typedef unsigned char GLubyte;
		*V
	EndMacro
	Macro pGLushort(V); typedef unsigned short GLushort;
		*V
	EndMacro
	Macro pGLuint(V); typedef unsigned int GLuint;
		*V
	EndMacro
	Macro pGLfloat(V); typedef float GLfloat;
		*V
	EndMacro
	Macro pGLclampf(V); typedef float GLclampf;
		*V
	EndMacro
	Macro pGLdouble(V); typedef double GLdouble;
		*V
	EndMacro
	Macro pGLclampd(V); typedef double GLclampd;
		*V
	EndMacro
	Macro pGLvoid(V); typedef void GLvoid; 
		*V
	EndMacro
	Macro pGLchar(V); typedef char GLchar;
		*V
	EndMacro
	Macro GLintptr(V); typedef ptrdiff_t GLintptr;
		*V
	EndMacro
	Macro GLsizeiptr(V); typedef ptrdiff_t GLsizeiptr;
		*V
	EndMacro
	Macro pGLint64(V); 
		*V
	EndMacro
;}
;{ Prorotypes
	CompilerIf Defined(OPENGL_STATIC_LINKING, #PB_Constant) = 0
		;- Prototypes to dynamic linking
		CompilerIf Defined(GL_VERSION_1_0, #PB_Constant)
			Prototype	 PFNGLCULLFACEPROC ( GLenum(mode));
			Prototype	 PFNGLFRONTFACEPROC ( GLenum(mode));
			Prototype	 PFNGLHINTPROC ( GLenum(target),	GLenum(mode));
			Prototype	 PFNGLLINEWIDTHPROC ( GLfloat (width));
			Prototype	 PFNGLPOINTSIZEPROC ( GLfloat (size));
			Prototype	 PFNGLPOLYGONMODEPROC ( GLenum(face), GLenum(mode));
			Prototype	 PFNGLSCISSORPROC (GLint (x), GLint (y), GLsizei (width), GLsizei(height));
			Prototype	 PFNGLTEXPARAMETERFPROC ( GLenum(target), GLenum(pname), GLfloat (param));
			Prototype	 PFNGLTEXPARAMETERFVPROC ( GLenum(target), GLenum(pname), GLfloat(params));
			Prototype	 PFNGLTEXPARAMETERIPROC ( GLenum(target), GLenum(pname), GLint(param));
			Prototype	 PFNGLTEXPARAMETERIVPROC ( GLenum(target), GLenum(pname), GLint (params));
			Prototype	 PFNGLTEXIMAGE1DPROC ( GLenum(target), GLint(level), GLint(internalformat), GLsizei(width), GLint (border), GLenum(format), GLenum(type), pGLvoid(pixels));
			Prototype	 PFNGLTEXIMAGE2DPROC ( GLenum(target), GLint(level), GLint(internalformat), GLsizei(width), GLsizei (height), GLint(border), GLenum(format), GLenum(type), pGLvoid(pixels));
			Prototype	 PFNGLDRAWBUFFERPROC ( GLenum(mode));
			Prototype	 PFNGLCLEARPROC (GLbitfield(mask));
			Prototype	 PFNGLCLEARCOLORPROC (GLclampf(red), GLclampf(green), GLclampf(blue), GLclampf(alpha));
			Prototype	 PFNGLCLEARSTENCILPROC (GLint(s));
			Prototype	 PFNGLCLEARDEPTHPROC (GLclampd(depth));
			Prototype	 PFNGLSTENCILMASKPROC (GLuint(mask));
			Prototype	 PFNGLCOLORMASKPROC (GLboolean(red), GLboolean(green), GLboolean(blue), GLboolean(alpha));
			Prototype	 PFNGLDEPTHMASKPROC (GLboolean(flag));
			Prototype	 PFNGLDISABLEPROC ( GLenum(cap));
			Prototype	 PFNGLENABLEPROC ( GLenum(cap));
			Prototype	 PFNGLFINISHPROC ();
			Prototype	 PFNGLFLUSHPROC ();
			Prototype	 PFNGLBLENDFUNCPROC ( GLenum(sfactor), GLenum(dfactor));
			Prototype	 PFNGLLOGICOPPROC ( GLenum(opcode));
			Prototype	 PFNGLSTENCILFUNCPROC ( GLenum(func), GLint (ref), GLuint (mask));
			Prototype	 PFNGLSTENCILOPPROC ( GLenum(fail),	GLenum(zfail),	GLenum(zpass));
			Prototype	 PFNGLDEPTHFUNCPROC ( GLenum(func));
			Prototype	 PFNGLPIXELSTOREFPROC ( GLenum(pname), GLfloat (param));
			Prototype	 PFNGLPIXELSTOREIPROC ( GLenum(pname), GLint (param));
			Prototype	 PFNGLREADBUFFERPROC (GLenum(mode));
			Prototype	 PFNGLREADPIXELSPROC (GLint(x), GLint (y), GLsizei (width), GLsizei (height), GLenum(format), GLenum(type), pGLvoid(pixels));
			Prototype	 PFNGLGETBOOLEANVPROC (GLenum(pname), pGLboolean(params));
			Prototype	 PFNGLGETDOUBLEVPROC (GLenum(pname), pGLdouble(params));
			Prototype.l PFNGLGETERRORPROC ();
			Prototype	 PFNGLGETFLOATVPROC ( GLenum(pname), pGLfloat(params));
			Prototype	 PFNGLGETINTEGERVPROC ( GLenum(pname), pGLint(params));
			Prototype.l PFNGLGETSTRINGPROC ( GLenum(name));
			Prototype	 PFNGLGETTEXIMAGEPROC ( GLenum(target), GLint(level), GLenum(format), GLenum(type), pGLvoid(pixels));
			Prototype	 PFNGLGETTEXPARAMETERFVPROC ( GLenum(target), GLenum(pname), pGLfloat(params));
			Prototype	 PFNGLGETTEXPARAMETERIVPROC ( GLenum(target), GLenum(pname), pGLint(params));
			Prototype	 PFNGLGETTEXLEVELPARAMETERFVPROC ( GLenum(target), GLint (level), GLenum(pname), pGLfloat(params));
			Prototype	 PFNGLGETTEXLEVELPARAMETERIVPROC ( GLenum(target), GLint (level), GLenum(pname), pGLint(params));
			Prototype.a PFNGLISENABLEDPROC ( GLenum(cap));
			Prototype	 PFNGLDEPTHRANGEPROC (GLclampd(near), GLclampd(far));
			Prototype	 PFNGLVIEWPORTPROC (GLint(x), GLint(y), GLsizei(width), GLsizei(height));
		CompilerEndIf
		CompilerIf Defined(GL_VERSION_1_1,#PB_Constant)
			Prototype PFNGLDRAWARRAYSPROC(GLenum(mode), GLint(first), GLsizei(count))
			Prototype PFNGLDRAWELEMENTSPROC(GLenum(mode), GLsizei(count), GLenum(type), pGLvoid(indices));
			Prototype PFNGLGETPOINTERVPROC(GLenum(pname), pGLvoid(p_params))
			Prototype PFNGLPOLYGONOFFSETPROC(GLfloat(factor), GLfloat(units))
			Prototype PFNGLCOPYTEXIMAGE1DPROC(GLenum(target), GLint(level), GLenum(internalformat), GLint(x), GLint(y), GLsizei(width), GLint(border))
			Prototype PFNGLCOPYTEXIMAGE2DPROC(GLenum(target), GLint(level), GLenum(internalformat), GLint(x), GLint(y), GLsizei(width), GLsizei(height), GLint(border))
			Prototype PFNGLCOPYTEXSUBIMAGE1DPROC(GLenum(target), GLint(level), GLint(xoffset), GLint(x), GLint(y), GLsizei(width))
			Prototype PFNGLCOPYTEXSUBIMAGE2DPROC(GLenum(target), GLint(level), GLint(xoffset), GLint(yoffset), GLint(x), GLint(y), GLsizei(width), GLsizei(height))
			Prototype PFNGLTEXSUBIMAGE1DPROC(GLenum(target), GLint(level), GLint(xoffset), GLsizei(width), GLenum(format), GLenum(type), pGLvoid(pixels))
			Prototype PFNGLTEXSUBIMAGE2DPROC(GLenum(target), GLint(level), GLint(xoffset), GLint(yoffset), GLsizei(width), GLsizei(height), GLenum(format), GLenum(type), pGLvoid(pixels))
			Prototype PFNGLBINDTEXTUREPROC(GLenum(target), GLuint(texture))
			Prototype PFNGLDELETETEXTURESPROC(GLsizei(n), pGLuint(textures))
			Prototype PFNGLGENTEXTURESPROC(GLsizei(n), pGLuint(textures))
			GLboolean(Prototype) PFNGLISTEXTUREPROC(GLuint(texture))
		CompilerEndIf
		CompilerIf Defined(GL_VERSION_1_2,#PB_Constant)
			Prototype	PFNGLDRAWRANGEELEMENTSPROC (GLenum (mode), GLuint (start), GLuint (endIndex), GLsizei (count), GLenum (type), pGLvoid(indices));
			Prototype	PFNGLTEXIMAGE3DPROC (GLenum (target), GLint (level), GLint (internalformat), GLsizei (width), GLsizei (height), GLsizei (depth), GLint (border), GLenum (format), GLenum (type), pGLvoid (pixels));
			Prototype	PFNGLTEXSUBIMAGE3DPROC (GLenum (target), GLint (level), GLint (xoffset), GLint (yoffset), GLint (zoffset), GLsizei (width), GLsizei (height), GLsizei (depth), GLenum (format), GLenum (type), pGLvoid (pixels));
			Prototype	PFNGLCOPYTEXSUBIMAGE3DPROC (GLenum (target), GLint (level), GLint (xoffset), GLint (yoffset), GLint (zoffset), GLint (x), GLint (y), GLsizei (width), GLsizei (height));
		CompilerEndIf
		CompilerIf Defined(GL_VERSION_1_3, #PB_Constant)
			Prototype PFNGLACTIVETEXTUREPROC(GLenum(texture))
			Prototype PFNGLSAMPLECOVERAGEPROC(GLfloat(value), GLboolean(invert))
			Prototype PFNGLCOMPRESSEDTEXIMAGE3DPROC(GLenum(target), GLint(level), GLenum(internalformat), GLsizei(width), GLsizei(height), GLsizei(depth), GLint(border), GLsizei(imageSize), pGLvoid(Data))
			Prototype PFNGLCOMPRESSEDTEXIMAGE2DPROC(GLenum(target), GLint(level), GLenum(internalformat), GLsizei(width), GLsizei(height), GLint(border), GLsizei(imageSize), pGLvoid(Data))
			Prototype PFNGLCOMPRESSEDTEXIMAGE1DPROC(GLenum(target), GLint(level), GLenum(internalformat), GLsizei(width), GLint(border), GLsizei(imageSize), pGLvoid(Data))
			Prototype PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC(GLenum(target), GLint(level), GLint(xoffset), GLint(yoffset), GLint(zoffset), GLsizei(width), GLsizei(height), GLsizei(depth), GLenum(format), GLsizei(imageSize), pGLvoid(Data))
			Prototype PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC(GLenum(target), GLint(level), GLint(xoffset), GLint(yoffset), GLsizei(width), GLsizei(height), GLenum(format), GLsizei(imageSize), pGLvoid(Data_))
			Prototype PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC(GLenum(target), GLint(level), GLint(xoffset), GLsizei(width), GLenum(format), GLsizei(imageSize), pGLvoid(Data_))
			Prototype PFNGLGETCOMPRESSEDTEXIMAGEPROC(GLenum(target), GLint(level), pGLvoid(img))
		CompilerEndIf
		CompilerIf Defined(GL_VERSION_1_4,#PB_Constant)
			Prototype PFNGLBLENDFUNCSEPARATEPROC (GLenum (sfactorRGB), GLenum (dfactorRGB), GLenum (sfactorAlpha), GLenum (dfactorAlpha));
			Prototype PFNGLMULTIDRAWARRAYSPROC (GLenum (mode), pGLint(first), pGLsizei(count), GLsizei (primcount));
			Prototype PFNGLMULTIDRAWELEMENTSPROC (GLenum (mode), pGLsizei(count), GLenum (type), pGLvoid(p_indices), GLsizei (primcount));
			Prototype PFNGLPOINTPARAMETERFPROC (GLenum (pname), GLfloat (param));
			Prototype PFNGLPOINTPARAMETERFVPROC (GLenum (pname),	pGLfloat (params));
			Prototype PFNGLPOINTPARAMETERIPROC (GLenum (pname), GLint (param));
			Prototype PFNGLPOINTPARAMETERIVPROC (GLenum (pname), pGLint (params));
			Prototype PFNGLBLENDCOLORPROC (GLclampf (red), GLclampf (green), GLclampf (blue), GLclampf (alpha));
			Prototype PFNGLBLENDEQUATIONPROC (GLenum (mode));
		CompilerEndIf
		CompilerIf Defined(GL_VERSION_1_5, #PB_Constant)
			Prototype PFNGLGENQUERIESPROC(GLsizei(n), pGLuint(ids))
			Prototype PFNGLDELETEQUERIESPROC(GLsizei(n), GLuint(ids))
			GLboolean(Prototype) PFNGLISQUERYPROC(GLuint(id))
			Prototype PFNGLBEGINQUERYPROC(GLenum(target), GLuint(id))
			Prototype PFNGLENDQUERYPROC(GLenum(target))
			Prototype PFNGLGETQUERYIVPROC(GLenum(target), GLenum(pname), pGLint(params))
			Prototype PFNGLGETQUERYOBJECTIVPROC(GLuint(id), GLenum(pname), pGLint(params))
			Prototype PFNGLGETQUERYOBJECTUIVPROC(GLuint(id), GLenum(pname), pGLuint(params))
			Prototype PFNGLBINDBUFFERPROC(GLenum(target), GLuint(buffer))
			Prototype PFNGLDELETEBUFFERSPROC(GLsizei(n), pGLuint(buffers))
			Prototype PFNGLGENBUFFERSPROC(GLsizei(n), pGLuint(buffers))
			GLboolean(Prototype) PFNGLISBUFFERPROC(GLuint(buffer))
			Prototype PFNGLBUFFERDATAPROC(GLenum(target), GLsizeiptr(size), pGLvoid(Data_), GLenum(usage))
			Prototype PFNGLBUFFERSUBDATAPROC(GLenum(target), GLintptr(offset), GLsizeiptr(size), pGLvoid(Data_))
			Prototype PFNGLGETBUFFERSUBDATAPROC(GLenum(target), GLintptr(offset), GLsizeiptr(size), pGLvoid(Data))
			Prototype.l PFNGLMAPBUFFERPROC(GLenum(target), GLenum(access))
			GLboolean(Prototype) PFNGLUNMAPBUFFERPROC(GLenum(target))
			Prototype PFNGLGETBUFFERPARAMETERIVPROC(GLenum(target), GLenum(pname), pGLint(params))
			Prototype PFNGLGETBUFFERPOINTERVPROC(GLenum(target), GLenum(pname), pGLvoid(p_params))
		CompilerEndIf
		CompilerIf Defined(GL_VERSION_2_0,#PB_Constant)
			Prototype	PFNGLBLENDEQUATIONSEPARATEPROC (GLenum (modeRGB), GLenum (modeAlpha));
			Prototype	PFNGLDRAWBUFFERSPROC (GLsizei (n), pGLenum(bufs));
			Prototype	PFNGLSTENCILOPSEPARATEPROC (GLenum (face), GLenum (sfail), GLenum (dpfail), GLenum (dppass));
			Prototype	PFNGLSTENCILFUNCSEPARATEPROC (GLenum (frontfunc), GLenum (backfunc), GLint (ref), GLuint (mask));
			Prototype	PFNGLSTENCILMASKSEPARATEPROC (GLenum (face), GLuint (mask));
			Prototype	PFNGLATTACHSHADERPROC (GLuint (program), GLuint (shader));
			Prototype	PFNGLBINDATTRIBLOCATIONPROC (GLuint (program), GLuint (index), pGLchar (name));
			Prototype	PFNGLCOMPILESHADERPROC (GLuint (shader));
			GLuint(Prototype) PFNGLCREATEPROGRAMPROC ();
			GLuint(Prototype)	PFNGLCREATESHADERPROC (GLenum (type));
			Prototype	PFNGLDELETEPROGRAMPROC (GLuint (program));
			Prototype	PFNGLDELETESHADERPROC (GLuint (shader));
			Prototype	PFNGLDETACHSHADERPROC (GLuint (program), GLuint (shader));
			Prototype	PFNGLDISABLEVERTEXATTRIBARRAYPROC (GLuint (index));
			Prototype	PFNGLENABLEVERTEXATTRIBARRAYPROC (GLuint (index));
			Prototype	PFNGLGETACTIVEATTRIBPROC (GLuint (program), GLuint (index), GLsizei (bufSize), pGLsizei (length), pGLint (size), pGLenum (type), pGLchar (name));
			Prototype	PFNGLGETACTIVEUNIFORMPROC (GLuint (program), GLuint (index), GLsizei (bufSize), pGLsizei (length), pGLint (size), pGLenum (type), pGLchar (name));
			Prototype	PFNGLGETATTACHEDSHADERSPROC (GLuint (program), GLsizei (maxCount), pGLsizei (count), pGLuint (obj));
			GLint(Prototype)	PFNGLGETATTRIBLOCATIONPROC (GLuint (program), pGLchar (name));
			Prototype	PFNGLGETPROGRAMIVPROC (GLuint (program), GLenum (pname), pGLint (params));
			Prototype	PFNGLGETPROGRAMINFOLOGPROC (GLuint (program), GLsizei (bufSize), pGLsizei (length), pGLchar (infoLog));
			Prototype	PFNGLGETSHADERIVPROC (GLuint (shader), GLenum (pname), pGLint (params));
			Prototype	PFNGLGETSHADERINFOLOGPROC (GLuint (shader), GLsizei (bufSize), pGLsizei (length), pGLchar (infoLog));
			Prototype	PFNGLGETSHADERSOURCEPROC (GLuint (shader), GLsizei (bufSize), pGLsizei (length), pGLchar (source));
			GLint(Prototype)	PFNGLGETUNIFORMLOCATIONPROC (GLuint (program), pGLchar (name));
			Prototype	PFNGLGETUNIFORMFVPROC (GLuint (program), GLint (location), pGLfloat (params));
			Prototype	PFNGLGETUNIFORMIVPROC (GLuint (program), GLint (location), pGLint (params));
			Prototype	PFNGLGETVERTEXATTRIBDVPROC (GLuint (index), GLenum (pname), pGLdouble (params));
			Prototype	PFNGLGETVERTEXATTRIBFVPROC (GLuint (index), GLenum (pname), pGLfloat (params));
			Prototype	PFNGLGETVERTEXATTRIBIVPROC (GLuint (index), GLenum (pname), pGLint (params));
			Prototype	PFNGLGETVERTEXATTRIBPOINTERVPROC (GLuint (index), GLenum (pname), pGLvoid(p_pointer));
			GLboolean(Prototype)	PFNGLISPROGRAMPROC (GLuint (program));
			GLboolean(Prototype)	PFNGLISSHADERPROC (GLuint (shader));
			Prototype	PFNGLLINKPROGRAMPROC (GLuint (program));
			Prototype	PFNGLSHADERSOURCEPROC (GLuint (shader), GLsizei (count), pGLchar(p_string), pGLint(length));
			Prototype	PFNGLUSEPROGRAMPROC (GLuint (program));
			Prototype	PFNGLUNIFORM1FPROC (GLint (location), GLfloat (v0));
			Prototype	PFNGLUNIFORM2FPROC (GLint (location), GLfloat (v0), GLfloat (v1));
			Prototype	PFNGLUNIFORM3FPROC (GLint (location), GLfloat (v0), GLfloat (v1), GLfloat (v2));
			Prototype	PFNGLUNIFORM4FPROC (GLint (location), GLfloat (v0), GLfloat (v1), GLfloat (v2), GLfloat (v3));
			Prototype	PFNGLUNIFORM1IPROC (GLint (location), GLint (v0));
			Prototype	PFNGLUNIFORM2IPROC (GLint (location), GLint (v0), GLint (v1));
			Prototype	PFNGLUNIFORM3IPROC (GLint (location), GLint (v0), GLint (v1), GLint (v2));
			Prototype	PFNGLUNIFORM4IPROC (GLint (location), GLint (v0), GLint (v1), GLint (v2), GLint (v3));
			Prototype	PFNGLUNIFORM1FVPROC (GLint (location), GLsizei (count), pGLfloat (value));
			Prototype	PFNGLUNIFORM2FVPROC (GLint (location), GLsizei (count), pGLfloat (value));
			Prototype	PFNGLUNIFORM3FVPROC (GLint (location), GLsizei (count), pGLfloat (value));
			Prototype	PFNGLUNIFORM4FVPROC (GLint (location), GLsizei (count), pGLfloat (value));
			Prototype	PFNGLUNIFORM1IVPROC (GLint (location), GLsizei (count), pGLint (value));
			Prototype	PFNGLUNIFORM2IVPROC (GLint (location), GLsizei (count), pGLint (value));
			Prototype	PFNGLUNIFORM3IVPROC (GLint (location), GLsizei (count), pGLint (value));
			Prototype	PFNGLUNIFORM4IVPROC (GLint (location), GLsizei (count), pGLint (value));
			Prototype	PFNGLUNIFORMMATRIX2FVPROC (GLint (location), GLsizei (count), GLboolean (transpose), pGLfloat (value));
			Prototype	PFNGLUNIFORMMATRIX3FVPROC (GLint (location), GLsizei (count), GLboolean (transpose), pGLfloat (value));
			Prototype	PFNGLUNIFORMMATRIX4FVPROC (GLint (location), GLsizei (count), GLboolean (transpose), pGLfloat (value));
			Prototype	PFNGLVALIDATEPROGRAMPROC (GLuint (program));
			Prototype	PFNGLVERTEXATTRIB1DPROC (GLuint (index), GLdouble (x));
			Prototype	PFNGLVERTEXATTRIB1DVPROC (GLuint (index), pGLdouble (v));
			Prototype	PFNGLVERTEXATTRIB1FPROC (GLuint (index), GLfloat (x));
			Prototype	PFNGLVERTEXATTRIB1FVPROC (GLuint (index), pGLfloat (v));
			Prototype	PFNGLVERTEXATTRIB1SPROC (GLuint (index), GLshort (x));
			Prototype	PFNGLVERTEXATTRIB1SVPROC (GLuint (index), pGLshort (v));
			Prototype	PFNGLVERTEXATTRIB2DPROC (GLuint (index), GLdouble (x), GLdouble (y));
			Prototype	PFNGLVERTEXATTRIB2DVPROC (GLuint (index), pGLdouble (v));
			Prototype	PFNGLVERTEXATTRIB2FPROC (GLuint (index), GLfloat (x), GLfloat (y));
			Prototype	PFNGLVERTEXATTRIB2FVPROC (GLuint (index), pGLfloat (v));
			Prototype	PFNGLVERTEXATTRIB2SPROC (GLuint (index), GLshort (x), GLshort (y));
			Prototype	PFNGLVERTEXATTRIB2SVPROC (GLuint (index), pGLshort (v));
			Prototype	PFNGLVERTEXATTRIB3DPROC (GLuint (index), GLdouble (x), GLdouble (y), GLdouble (z));
			Prototype	PFNGLVERTEXATTRIB3DVPROC (GLuint (index), pGLdouble (v));
			Prototype	PFNGLVERTEXATTRIB3FPROC (GLuint (index), GLfloat (x), GLfloat (y), GLfloat (z));
			Prototype	PFNGLVERTEXATTRIB3FVPROC (GLuint (index), pGLfloat (v));
			Prototype	PFNGLVERTEXATTRIB3SPROC (GLuint (index), GLshort (x), GLshort (y), GLshort (z));
			Prototype	PFNGLVERTEXATTRIB3SVPROC (GLuint (index), pGLshort (v));
			Prototype	PFNGLVERTEXATTRIB4NBVPROC (GLuint (index), pGLbyte (v));
			Prototype	PFNGLVERTEXATTRIB4NIVPROC (GLuint (index), pGLint (v));
			Prototype	PFNGLVERTEXATTRIB4NSVPROC (GLuint (index), pGLshort (v));
			Prototype	PFNGLVERTEXATTRIB4NUBPROC (GLuint (index), GLubyte (x), GLubyte (y), GLubyte (z), GLubyte (w));
			Prototype	PFNGLVERTEXATTRIB4NUBVPROC (GLuint (index), pGLubyte (v));
			Prototype	PFNGLVERTEXATTRIB4NUIVPROC (GLuint (index), pGLuint (v));
			Prototype	PFNGLVERTEXATTRIB4NUSVPROC (GLuint (index), pGLushort (v));
			Prototype	PFNGLVERTEXATTRIB4BVPROC (GLuint (index), pGLbyte (v));
			Prototype	PFNGLVERTEXATTRIB4DPROC (GLuint (index), GLdouble (x), GLdouble (y), GLdouble (z), GLdouble (w));
			Prototype	PFNGLVERTEXATTRIB4DVPROC (GLuint (index), pGLdouble (v));
			Prototype	PFNGLVERTEXATTRIB4FPROC (GLuint (index), GLfloat (x), GLfloat (y), GLfloat (z), GLfloat (w));
			Prototype	PFNGLVERTEXATTRIB4FVPROC (GLuint (index), pGLfloat (v));
			Prototype	PFNGLVERTEXATTRIB4IVPROC (GLuint (index), pGLint (v));
			Prototype	PFNGLVERTEXATTRIB4SPROC (GLuint (index), GLshort (x), GLshort (y), GLshort (z), GLshort (w));
			Prototype	PFNGLVERTEXATTRIB4SVPROC (GLuint (index), pGLshort (v));
			Prototype	PFNGLVERTEXATTRIB4UBVPROC (GLuint (index), pGLubyte (v));
			Prototype	PFNGLVERTEXATTRIB4UIVPROC (GLuint (index), pGLuint (v));
			Prototype	PFNGLVERTEXATTRIB4USVPROC (GLuint (index), pGLushort (v));
			Prototype	PFNGLVERTEXATTRIBPOINTERPROC (GLuint (index), GLint (size), GLenum (type), GLboolean (normalized), GLsizei (stride), pGLvoid (pointer));
		CompilerEndIf
		CompilerIf Defined(GL_VERSION_2_1, #PB_Constant)
			Prototype PFNGLUNIFORMMATRIX2X3FVPROC(GLint(location), GLsizei(count), GLboolean(transpose), pGLfloat(value))
			Prototype PFNGLUNIFORMMATRIX3X2FVPROC(GLint(location), GLsizei(count), GLboolean(transpose), pGLfloat(value))
			Prototype PFNGLUNIFORMMATRIX2X4FVPROC(GLint(location), GLsizei(count), GLboolean(transpose), pGLfloat(value))
			Prototype PFNGLUNIFORMMATRIX4X2FVPROC(GLint(location), GLsizei(count), GLboolean(transpose), pGLfloat(value))
			Prototype PFNGLUNIFORMMATRIX3X4FVPROC(GLint(location), GLsizei(count), GLboolean(transpose), pGLfloat(value))
			Prototype PFNGLUNIFORMMATRIX4X3FVPROC(GLint(location), GLsizei(count), GLboolean(transpose), pGLfloat(value))
		CompilerEndIf
		CompilerIf Defined(GL_VERSION_3_0,#PB_Constant)
			Prototype	PFNGLCOLORMASKIPROC (GLuint (index), GLboolean (r), GLboolean (g), GLboolean (b), GLboolean (a));
			Prototype	PFNGLGETBOOLEANI_VPROC (GLenum (target), GLuint (index), pGLboolean(DataArray));
			Prototype	PFNGLGETINTEGERI_VPROC (GLenum (target), GLuint (index), pGLint(DataArray));
			Prototype	PFNGLENABLEIPROC (GLenum (target), GLuint (index));
			Prototype	PFNGLDISABLEIPROC (GLenum (target), GLuint (index));
			GLboolean(Prototype)	 PFNGLISENABLEDIPROC (GLenum (target), GLuint (index));
			Prototype	PFNGLBEGINTRANSFORMFEEDBACKPROC (GLenum (primitiveMode));
			Prototype	PFNGLENDTRANSFORMFEEDBACKPROC ();
			Prototype	PFNGLBINDBUFFERRANGEPROC (GLenum (target), GLuint (index), GLuint (buffer), GLintptr (offset), GLsizeiptr (size));
			Prototype	PFNGLBINDBUFFERBASEPROC (GLenum (target), GLuint (index), GLuint (buffer));
			Prototype	PFNGLTRANSFORMFEEDBACKVARYINGSPROC (GLuint (program), GLsizei (count), pGLchar(p_varyings), GLenum (bufferMode));
			Prototype	PFNGLGETTRANSFORMFEEDBACKVARYINGPROC (GLuint (program), GLuint (index), GLsizei (bufSize), pGLsizei(length), pGLsizei(size), pGLenum(type), pGLchar (name));
			Prototype	PFNGLCLAMPCOLORPROC (GLenum (target), GLenum (clamp));
			Prototype	PFNGLBEGINCONDITIONALRENDERPROC (GLuint (id), GLenum (mode));
			Prototype	PFNGLENDCONDITIONALRENDERPROC ();
			Prototype	PFNGLVERTEXATTRIBIPOINTERPROC (GLuint (index), GLint (size), GLenum (type), GLsizei (stride), pGLvoid (pointer));
			Prototype	PFNGLGETVERTEXATTRIBIIVPROC (GLuint (index), GLenum (pname), pGLint(params));
			Prototype	PFNGLGETVERTEXATTRIBIUIVPROC (GLuint (index), GLenum (pname), pGLuint(params));
			Prototype	PFNGLVERTEXATTRIBI1IPROC (GLuint (index), GLint (x));
			Prototype	PFNGLVERTEXATTRIBI2IPROC (GLuint (index), GLint (x), GLint (y));
			Prototype	PFNGLVERTEXATTRIBI3IPROC (GLuint (index), GLint (x), GLint (y), GLint (z));
			Prototype	PFNGLVERTEXATTRIBI4IPROC (GLuint (index), GLint (x), GLint (y), GLint (z), GLint (w));
			Prototype	PFNGLVERTEXATTRIBI1UIPROC (GLuint (index), GLuint (x));
			Prototype	PFNGLVERTEXATTRIBI2UIPROC (GLuint (index), GLuint (x), GLuint (y));
			Prototype	PFNGLVERTEXATTRIBI3UIPROC (GLuint (index), GLuint (x), GLuint (y), GLuint (z));
			Prototype	PFNGLVERTEXATTRIBI4UIPROC (GLuint (index), GLuint (x), GLuint (y), GLuint (z), GLuint (w));
			Prototype	PFNGLVERTEXATTRIBI1IVPROC (GLuint (index), pGLint (v));
			Prototype	PFNGLVERTEXATTRIBI2IVPROC (GLuint (index), pGLint (v));
			Prototype	PFNGLVERTEXATTRIBI3IVPROC (GLuint (index), pGLint (v));
			Prototype	PFNGLVERTEXATTRIBI4IVPROC (GLuint (index), pGLint (v));
			Prototype	PFNGLVERTEXATTRIBI1UIVPROC (GLuint (index), pGLuint (v));
			Prototype	PFNGLVERTEXATTRIBI2UIVPROC (GLuint (index), pGLuint (v));
			Prototype	PFNGLVERTEXATTRIBI3UIVPROC (GLuint (index), pGLuint (v));
			Prototype	PFNGLVERTEXATTRIBI4UIVPROC (GLuint (index), pGLuint (v));
			Prototype	PFNGLVERTEXATTRIBI4BVPROC (GLuint (index), pGLbyte (v));
			Prototype	PFNGLVERTEXATTRIBI4SVPROC (GLuint (index), pGLshort (v));
			Prototype	PFNGLVERTEXATTRIBI4UBVPROC (GLuint (index), pGLubyte (v));
			Prototype	PFNGLVERTEXATTRIBI4USVPROC (GLuint (index), pGLushort (v));
			Prototype	PFNGLGETUNIFORMUIVPROC (GLuint (program), GLint (location), pGLuint (params));
			Prototype	PFNGLBINDFRAGDATALOCATIONPROC (GLuint (program), GLuint (color), pGLchar (name));
			GLint(Prototype)	 PFNGLGETFRAGDATALOCATIONPROC (GLuint (program), pGLchar (name));
			Prototype	PFNGLUNIFORM1UIPROC (GLint (location), GLuint (v0));
			Prototype	PFNGLUNIFORM2UIPROC (GLint (location), GLuint (v0), GLuint (v1));
			Prototype	PFNGLUNIFORM3UIPROC (GLint (location), GLuint (v0), GLuint (v1), GLuint (v2));
			Prototype	PFNGLUNIFORM4UIPROC (GLint (location), GLuint (v0), GLuint (v1), GLuint (v2), GLuint (v3));
			Prototype	PFNGLUNIFORM1UIVPROC (GLint (location), GLsizei (count), pGLuint (value));
			Prototype	PFNGLUNIFORM2UIVPROC (GLint (location), GLsizei (count), pGLuint (value));
			Prototype	PFNGLUNIFORM3UIVPROC (GLint (location), GLsizei (count), pGLuint (value));
			Prototype	PFNGLUNIFORM4UIVPROC (GLint (location), GLsizei (count), pGLuint (value));
			Prototype	PFNGLTEXPARAMETERIIVPROC (GLenum (target), GLenum (pname), pGLint (params));
			Prototype	PFNGLTEXPARAMETERIUIVPROC (GLenum (target), GLenum (pname), pGLuint (params));
			Prototype	PFNGLGETTEXPARAMETERIIVPROC (GLenum (target), GLenum (pname), pGLint (params));
			Prototype	PFNGLGETTEXPARAMETERIUIVPROC (GLenum (target), GLenum (pname), pGLuint (params));
			Prototype	PFNGLCLEARBUFFERIVPROC (GLenum (buffer), GLint (drawbuffer), pGLint (value));
			Prototype	PFNGLCLEARBUFFERUIVPROC (GLenum (buffer), GLint (drawbuffer), pGLuint (value));
			Prototype	PFNGLCLEARBUFFERFVPROC (GLenum (buffer), GLint (drawbuffer), pGLfloat (value));
			Prototype	PFNGLCLEARBUFFERFIPROC (GLenum (buffer), GLint (drawbuffer), GLfloat (depth), GLint (stencil));
			Prototype.l	PFNGLGETSTRINGIPROC (GLenum (name), GLuint (index)); pGLubyte return
			GLboolean(Prototype)	PFNGLISRENDERBUFFERPROC (GLuint (renderbuffer));
			Prototype	PFNGLBINDRENDERBUFFERPROC (GLenum (target), GLuint (renderbuffer));
			Prototype	PFNGLDELETERENDERBUFFERSPROC (GLsizei (n), pGLuint (renderbuffers));
			Prototype	PFNGLGENRENDERBUFFERSPROC (GLsizei (n), pGLuint (renderbuffers));
			Prototype	PFNGLRENDERBUFFERSTORAGEPROC (GLenum (target), GLenum (internalformat), GLsizei (width), GLsizei (height));
			Prototype	PFNGLGETRENDERBUFFERPARAMETERIVPROC (GLenum (target), GLenum (pname), pGLint (params));
			GLboolean(Prototype)	 PFNGLISFRAMEBUFFERPROC (GLuint (framebuffer));
			Prototype	PFNGLBINDFRAMEBUFFERPROC (GLenum (target), GLuint (framebuffer));
			Prototype	PFNGLDELETEFRAMEBUFFERSPROC (GLsizei (n), pGLuint (framebuffers));
			Prototype	PFNGLGENFRAMEBUFFERSPROC (GLsizei (n), pGLuint (framebuffers));
			GLenum(Prototype)	 PFNGLCHECKFRAMEBUFFERSTATUSPROC (GLenum (target));
			Prototype	PFNGLFRAMEBUFFERTEXTURE1DPROC (GLenum (target), GLenum (attachment), GLenum (textarget), GLuint (texture), GLint (level));
			Prototype	PFNGLFRAMEBUFFERTEXTURE2DPROC (GLenum (target), GLenum (attachment), GLenum (textarget), GLuint (texture), GLint (level));
			Prototype	PFNGLFRAMEBUFFERTEXTURE3DPROC (GLenum (target), GLenum (attachment), GLenum (textarget), GLuint (texture), GLint (level), GLint (zoffset));
			Prototype	PFNGLFRAMEBUFFERRENDERBUFFERPROC (GLenum (target), GLenum (attachment), GLenum (renderbuffertarget), GLuint (renderbuffer));
			Prototype	PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC (GLenum (target), GLenum (attachment), GLenum (pname), pGLint (params));
			Prototype	PFNGLGENERATEMIPMAPPROC (GLenum (target));
			Prototype	PFNGLBLITFRAMEBUFFERPROC (GLint (srcX0), GLint (srcY0), GLint (srcX1), GLint (srcY1), GLint (dstX0), GLint (dstY0), GLint (dstX1), GLint (dstY1), GLbitfield (mask), GLenum (filter));
			Prototype	PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC (GLenum (target), GLsizei (samples), GLenum (internalformat), GLsizei (width), GLsizei (height));
			Prototype	PFNGLFRAMEBUFFERTEXTURELAYERPROC (GLenum (target), GLenum (attachment), GLuint (texture), GLint (level), GLint (layer));
			Prototype.l PFNGLMAPBUFFERRANGEPROC (GLenum (target), GLintptr (offset), GLsizeiptr (length), GLbitfield (access));
			Prototype PFNGLFLUSHMAPPEDBUFFERRANGEPROC (GLenum (target), GLintptr (offset), GLsizeiptr (length));
			Prototype	PFNGLBINDVERTEXARRAYPROC (GLuint (ArrayId));
			Prototype	PFNGLDELETEVERTEXARRAYSPROC (GLsizei (n), pGLuint (arrays));
			Prototype	PFNGLGENVERTEXARRAYSPROC (GLsizei (n), pGLuint (arrays));
			GLboolean(Prototype)	PFNGLISVERTEXARRAYPROC (GLuint (ArrayId));
		CompilerEndIf
		CompilerIf Defined(GL_VERSION_3_1, #PB_Constant)
			Prototype PFNGLDRAWARRAYSINSTANCEDPROC(GLenum(mode), GLint(first), GLsizei(count), GLsizei(instancecount))
			Prototype PFNGLDRAWELEMENTSINSTANCEDPROC(GLenum(mode), GLsizei(count), GLenum(type), pGLvoid(indices), GLsizei(instancecount))
			Prototype PFNGLTEXBUFFERPROC(GLenum(target), GLenum(internalformat), GLuint(buffer))
			Prototype PFNGLPRIMITIVERESTARTINDEXPROC(GLuint(index))
			Prototype PFNGLCOPYBUFFERSUBDATAPROC(GLenum(readTarget), GLenum(writeTarget), GLintptr(readOffset), GLintptr(writeOffset), GLsizeiptr(size))
			Prototype PFNGLGETUNIFORMINDICESPROC (GLuint (program), GLsizei (uniformCount), pGLchar(p_uniformNames), pGLuint (uniformIndices));
			Prototype PFNGLGETACTIVEUNIFORMSIVPROC (GLuint (program), GLsizei (uniformCount), pGLuint (uniformIndices), GLenum (pname), pGLint (params));
			Prototype PFNGLGETACTIVEUNIFORMNAMEPROC (GLuint (program), GLuint (uniformIndex), GLsizei (bufSize), pGLsizei (length), pGLchar (uniformName));
			GLuint(Prototype) PFNGLGETUNIFORMBLOCKINDEXPROC (GLuint (program), pGLchar (uniformBlockName));
			Prototype PFNGLGETACTIVEUNIFORMBLOCKIVPROC (GLuint (program), GLuint (uniformBlockIndex), GLenum (pname), pGLint (params));
			Prototype PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC (GLuint (program), GLuint (uniformBlockIndex), GLsizei (bufSize), pGLsizei (length), pGLchar (uniformBlockName));
			Prototype PFNGLUNIFORMBLOCKBINDINGPROC (GLuint (program), GLuint (uniformBlockIndex), GLuint (uniformBlockBinding));
		CompilerEndIf
		CompilerIf Defined(GL_VERSION_3_2, #PB_Constant)
			Prototype PFNGLDRAWELEMENTSBASEVERTEXPROC (GLenum (mode), GLsizei (count), GLenum (type), pGLvoid (indices), GLint (basevertex));
			Prototype PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC (GLenum (mode), GLuint (start), GLuint (EndIndex), GLsizei (count), GLenum (type), pGLvoid (indices), GLint (basevertex));
			Prototype PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC (GLenum (mode), GLsizei (count), GLenum (type), pGLvoid (indices), GLsizei (primcount), GLint (basevertex));
			Prototype PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC (GLenum (mode), pGLsizei (count), GLenum (type), pGLvoid(p_indices), GLsizei (primcount), pGLint (basevertex));
			Prototype PFNGLPROVOKINGVERTEXPROC (GLenum (mode));
		  GLsync(Prototype) PFNGLFENCESYNCPROC (GLenum (condition), GLbitfield (flags));
			GLboolean(Prototype) PFNGLISSYNCPROC (GLsync (sync));
			Prototype PFNGLDELETESYNCPROC (GLsync (sync));
			GLenum(Prototype) PFNGLCLIENTWAITSYNCPROC (GLsync (sync), GLbitfield (flags), GLuint64 (timeout));
			Prototype PFNGLWAITSYNCPROC (GLsync (sync), GLbitfield (flags), GLuint64 (timeout));
			Prototype PFNGLGETINTEGER64VPROC (GLenum (pname), pGLint64 (params));
			Prototype PFNGLGETSYNCIVPROC (GLsync (sync), GLenum (pname), GLsizei (bufSize), pGLsizei (length), pGLint (values));
			Prototype PFNGLGETINTEGER64I_VPROC (GLenum (target), GLuint (index), pGLint64(ataArray));
			Prototype PFNGLGETBUFFERPARAMETERI64VPROC (GLenum (target), GLenum (pname), pGLint64 (params));
			Prototype PFNGLFRAMEBUFFERTEXTUREPROC (GLenum (target), GLenum (attachment), GLuint (texture), GLint (level));
		  Prototype PFNGLTEXIMAGE2DMULTISAMPLEPROC (GLenum (target), GLsizei (samples), GLint (internalformat), GLsizei (width), GLsizei (height), GLboolean (fixedsamplelocations));
			Prototype PFNGLTEXIMAGE3DMULTISAMPLEPROC (GLenum (target), GLsizei (samples), GLint (internalformat), GLsizei (width), GLsizei (height), GLsizei (depth), GLboolean (fixedsamplelocations));
			Prototype PFNGLGETMULTISAMPLEFVPROC (GLenum (pname), GLuint (index), pGLfloat (val));
			Prototype PFNGLSAMPLEMASKIPROC (GLuint (index), GLbitfield (mask));
			;Prototype PFNGLPROGRAMPARAMETERIPROC (GLuint (program), GLenum (pname), GLint (value));
		CompilerEndIf
		CompilerIf Defined(GL_VERSION_3_3, #PB_Constant)
			Prototype PFNGLBINDFRAGDATALOCATIONINDEXEDPROC(GLuint(program), GLuint(colorNumber), GLuint(index), pGLchar(name))
			GLint(Prototype) PFNGLGETFRAGDATAINDEXPROC(GLuint(program), pGLchar(name))
			Prototype PFNGLGENSAMPLERSPROC(GLsizei(count), pGLuint(samplers))
			Prototype PFNGLDELETESAMPLERSPROC(GLsizei(count), pGLuint(samplers))
			GLboolean(Prototype) PFNGLISSAMPLERPROC(GLuint(sampler))
			Prototype PFNGLBINDSAMPLERPROC(GLuint(unit), GLuint(sampler))
			Prototype PFNGLSAMPLERPARAMETERIPROC(GLuint(sampler), GLenum(pname), GLint(param))
			Prototype PFNGLSAMPLERPARAMETERIVPROC(GLuint(sampler), GLenum(pname), pGLint(param))
			Prototype PFNGLSAMPLERPARAMETERFPROC(GLuint(sampler), GLenum(pname), GLfloat(param))
			Prototype PFNGLSAMPLERPARAMETERFVPROC(GLuint(sampler), GLenum(pname), pGLfloat(param))
			Prototype PFNGLSAMPLERPARAMETERIIVPROC(GLuint(sampler), GLenum(pname), pGLint(param))
			Prototype PFNGLSAMPLERPARAMETERIUIVPROC(GLuint(sampler), GLenum(pname), pGLuint(param))
			Prototype PFNGLGETSAMPLERPARAMETERIVPROC(GLuint(sampler), GLenum(pname), pGLint(params))
			Prototype PFNGLGETSAMPLERPARAMETERIIVPROC(GLuint(sampler), GLenum(pname), pGLint(params))
			Prototype PFNGLGETSAMPLERPARAMETERFVPROC(GLuint(sampler), GLenum(pname), pGLfloat(params))
			Prototype PFNGLGETSAMPLERPARAMETERIUIVPROC(GLuint(sampler), GLenum(pname), pGLuint(params))
			Prototype PFNGLQUERYCOUNTERPROC(GLuint(id), GLenum(target))
			Prototype PFNGLGETQUERYOBJECTI64VPROC(GLuint(id), GLenum(pname), pGLint64(params))
			Prototype PFNGLGETQUERYOBJECTUI64VPROC(GLuint(id), GLenum(pname), pGLuint64(params))
			Prototype PFNGLVERTEXATTRIBDIVISORPROC(GLuint(index), GLuint(divisor))
			Prototype PFNGLVERTEXATTRIBP1UIPROC(GLuint(index), GLenum(type), GLboolean(normalized), GLuint(value))
			Prototype PFNGLVERTEXATTRIBP1UIVPROC(GLuint(index), GLenum(type), GLboolean(normalized), pGLuint(value))
			Prototype PFNGLVERTEXATTRIBP2UIPROC(GLuint(index), GLenum(type), GLboolean(normalized), GLuint(value))
			Prototype PFNGLVERTEXATTRIBP2UIVPROC(GLuint(index), GLenum(type), GLboolean(normalized), pGLuint(value))
			Prototype PFNGLVERTEXATTRIBP3UIPROC(GLuint(index), GLenum(type), GLboolean(normalized), GLuint(value))
			Prototype PFNGLVERTEXATTRIBP3UIVPROC(GLuint(index), GLenum(type), GLboolean(normalized), pGLuint(value))
			Prototype PFNGLVERTEXATTRIBP4UIPROC(GLuint(index), GLenum(type), GLboolean(normalized), GLuint(value))
			Prototype PFNGLVERTEXATTRIBP4UIVPROC(GLuint(index), GLenum(type), GLboolean(normalized), pGLuint(value))
		CompilerEndIf
		
		CompilerIf Defined(GL_ARB_draw_buffers_blend,#PB_Constant)
			Prototype PFNGLBLENDEQUATIONIPROC (GLuint (buf), GLenum (mode));
			Prototype PFNGLBLENDEQUATIONSEPARATEIPROC (GLuint (buf), GLenum (modeRGB), GLenum (modeAlpha));
			Prototype PFNGLBLENDFUNCIPROC (GLuint (buf), GLenum (src), GLenum (dst));
			Prototype PFNGLBLENDFUNCSEPARATEIPROC (GLuint (buf), GLenum (srcRGB), GLenum (dstRGB), GLenum (srcAlpha), GLenum (dstAlpha));
		CompilerEndIf
		CompilerIf Defined(GL_ARB_sample_shading,#PB_Constant)
			Prototype PFNGLMINSAMPLESHADINGPROC (GLclampf (value));
		CompilerEndIf
	CompilerElse
		;- Import section to static linking
		CompilerIf #PB_Compiler_OS = #PB_OS_Linux
			ImportC "-lGL"
		CompilerEndIf
		CompilerIf #PB_Compiler_OS = #PB_OS_MacOS
			ImportC "-lGL"
		CompilerEndIf
		CompilerIf #PB_Compiler_OS = #PB_OS_Windows
			ImportC "OpenGL32.lib"
		CompilerEndIf
		CompilerIf Defined(GL_VERSION_1_0,#PB_Constant)
			glCullFace(a.l)
			glFrontFace(a.l)
			glHint(a.l,b.l)
			glLineWidth(a.f)
			glPointSize(a.f)
			glPolygonMode(a.l,b.l)
			glScissor(a.l,b.l,c.l,d.l)
			glTexParameterf(a.l,b.l,c.f)
			glTexParameterfv(a.l,b.l,*c)
			glTexParameteri(a.l,b.l,c.l)
			glTexParameteriv(a.l,b.l,*c)
			glTexImage1D(a.l,b.l,c.l,d.l,e.l,f.l,g.l,*h)
			glTexImage2D(a.l,b.l,c.l,d.l,e.l,f.l,g.l,h.l,*i)
			glDrawBuffer(a.l)
			glClear(a.l)
			glClearColor(a.f,b.f,c.f,d.f)
			glClearStencil(a.l)
			glClearDepth(a.d)
			glStencilMask(a.l)
			glColorMask(a.c,b.c,c.c,d.c)
			glDepthMask(a.c)
			glDisable(a.l)
			glEnable(a.l)
			glFinish(a)
			glFlush(a)
			glBlendFunc(a.l,b.l)
			glLogicOp(a.l)
			glStencilFunc(a.l,b.l,c.l)
			glStencilOp(a.l,b.l,c.l)
			glDepthFunc(a.l)
			glPixelStoref(a.l,b.f)
			glPixelStorei(a.l,b.l)
			glReadBuffer(a.l)
			glReadPixels(a.l,b.l,c.l,d.l,e.l,f.l,*g)
			glGetBooleanv(a.l,*b)
			glGetDoublev(a.l,*b)
			glGetError.l()
			glGetFloatv(a.l,*b)
			glGetIntegerv(a.l,*b)
			;glGetString.c(a.l)
			glGetTexImage(a.l,b.l,c.l,d.l,*e)
			glGetTexParameterfv(a.l,b.l,*c)
			glGetTexParameteriv(a.l,b.l,*c)
			glGetTexLevelParameterfv(a.l,b.l,c.l,*d)
			glGetTexLevelParameteriv(a.l,b.l,c.l,*d)
			glIsEnabled.c(a.l)
			glDepthRange(a.d,b.d)
			glViewport(a.l,b.l,c.l,d.l)
		CompilerEndIf
		CompilerIf Defined(GL_VERSION_1_1,#PB_Constant)
			glDrawArrays(a.l,b.l,c.l)
			glDrawElements(a.l,b.l,c.l,*d)
			glGetPointerv(a.l,*b)
			glPolygonOffset(a.f,b.f)
			glCopyTexImage1D(a.l,b.l,c.l,d.l,e.l,f.l,g.l)
			glCopyTexImage2D(a.l,b.l,c.l,d.l,e.l,f.l,g.l,h.l)
			glCopyTexSubImage1D(a.l,b.l,c.l,d.l,e.l,f.l)
			glCopyTexSubImage2D(a.l,b.l,c.l,d.l,e.l,f.l,g.l,h.l)
			glTexSubImage1D(a.l,b.l,c.l,d.l,e.l,f.l,*g)
			glTexSubImage2D(a.l,b.l,c.l,d.l,e.l,f.l,g.l,h.l,*i)
			glBindTexture(a.l,b.l)
			glDeleteTextures(a.l,*b)
			glGenTextures(a.l,*b)
			glIsTexture.c(a.l)
		CompilerEndIf
		CompilerIf Defined(GL_VERSION_1_2,#PB_Constant)
			glBlendColor(a.f,b.f,c.f,d.f)
			glBlendEquation(a.l)
			glDrawRangeElements(a.l,b.l,c.l,d.l,e.l,*f)
			glTexImage3D(a.l,b.l,c.l,d.l,e.l,f.l,g.l,h.l,i.l,*j)
			glTexSubImage3D(a.l,b.l,c.l,d.l,e.l,f.l,g.l,h.l,i.l,j.l,*k)
			glCopyTexSubImage3D(a.l,b.l,c.l,d.l,e.l,f.l,g.l,h.l,i.l)
		CompilerEndIf
		CompilerIf Defined(GL_VERSION_1_3,#PB_Constant)
			glActiveTexture(a.l)
			glSampleCoverage(a.f,b.c)
			glCompressedTexImage3D(a.l,b.l,c.l,d.l,e.l,f.l,g.l,h.l,*i)
			glCompressedTexImage2D(a.l,b.l,c.l,d.l,e.l,f.l,g.l,*h)
			glCompressedTexImage1D(a.l,b.l,c.l,d.l,e.l,f.l,*g)
			glCompressedTexSubImage3D(a.l,b.l,c.l,d.l,e.l,f.l,g.l,h.l,i.l,j.l,*k)
			glCompressedTexSubImage2D(a.l,b.l,c.l,d.l,e.l,f.l,g.l,h.l,*i)
			glCompressedTexSubImage1D(a.l,b.l,c.l,d.l,e.l,f.l,*g)
			glGetCompressedTexImage(a.l,b.l,*c)
		CompilerEndIf
		CompilerIf Defined(GL_VERSION_1_4,#PB_Constant)
			glBlendFuncSeparate(a.l,b.l,c.l,d.l)
			glMultiDrawArrays(a.l,*b,*c,d.l)
			glMultiDrawElements(a.l,*b,c.l,*d,e.l)
			glPointParameterf(a.l,b.f)
			glPointParameterfv(a.l,*b)
			glPointParameteri(a.l,b.l)
			glPointParameteriv(a.l,*b)
		CompilerEndIf
		CompilerIf Defined(GL_VERSION_1_5,#PB_Constant)
			glGenQueries(a.l,*b)
			glDeleteQueries(a.l,*b)
			glIsQuery.c(a.l)
			glBeginQuery(a.l,b.l)
			glEndQuery(a.l)
			glGetQueryiv(a.l,b.l,*c)
			glGetQueryObjectiv(a.l,b.l,*c)
			glGetQueryObjectuiv(a.l,b.l,*c)
			glBindBuffer(a.l,b.l)
			glDeleteBuffers(a.l,*b)
			glGenBuffers(a.l,*b)
			glIsBuffer.c(a.l)
			glBufferData(a.l,b,*c,d.l)
			glBufferSubData(a.l,b,c,*d)
			glGetBufferSubData(a.l,b,c,*d)
			glMapBuffer(a.l,b.l)
			glUnmapBuffer.c(a.l)
			glGetBufferParameteriv(a.l,b.l,*c)
			glGetBufferPointerv(a.l,b.l,*c)
		CompilerEndIf
		CompilerIf Defined(GL_VERSION_2_0,#PB_Constant)
			glBlendEquationSeparate(a.l,b.l)
			glDrawBuffers(a.l,*b)
			glStencilOpSeparate(a.l,b.l,c.l,d.l)
			glStencilFuncSeparate(a.l,b.l,c.l,d.l)
			glStencilMaskSeparate(a.l,b.l)
			glAttachShader(a.l,b.l)
			glBindAttribLocation(a.l,b.l,c)
			glCompileShader(a.l)
			glCreateProgram.l()
			glCreateShader.l(a.l)
			glDeleteProgram(a.l)
			glDeleteShader(a.l)
			glDetachShader(a.l,b.l)
			glDisableVertexAttribArray(a.l)
			glEnableVertexAttribArray(a.l)
			glGetActiveAttrib(a.l,b.l,c.l,*d,*e,*f,*g)
			glGetActiveUniform(a.l,b.l,c.l,*d,*e,*f,*g)
			glGetAttachedShaders(a.l,b.l,*c,*d)
			glGetAttribLocation.l(a.l,b.s)
			glGetProgramiv(a.l,b.l,*c)
			glGetProgramInfoLog(a.l,b.l,*c,*d)
			glGetShaderiv(a.l,b.l,*c)
			glGetShaderInfoLog(a.l,b.l,*c,*d)
			glGetShaderSource(a.l,b.l,*c,*d)
			glGetUniformLocation.l(a.l,b.s)
			glGetUniformfv(a.l,b.l,*c)
			glGetUniformiv(a.l,b.l,*c)
			glGetVertexAttribdv(a.l,b.l,*c)
			glGetVertexAttribfv(a.l,b.l,*c)
			glGetVertexAttribiv(a.l,b.l,*c)
			glGetVertexAttribPointerv(a.l,b.l,*c)
			glIsProgram.c(a.l)
			glIsShader.c(a.l)
			glLinkProgram(a.l)
			glShaderSource(a.l,b.l,c,*d)
			glUseProgram(a.l)
			glUniform1f(a.l,b.f)
			glUniform2f(a.l,b.f,c.f)
			glUniform3f(a.l,b.f,c.f,d.f)
			glUniform4f(a.l,b.f,c.f,d.f,e.f)
			glUniform1i(a.l,b.l)
			glUniform2i(a.l,b.l,c.l)
			glUniform3i(a.l,b.l,c.l,d.l)
			glUniform4i(a.l,b.l,c.l,d.l,e.l)
			glUniform1fv(a.l,b.l,*c)
			glUniform2fv(a.l,b.l,*c)
			glUniform3fv(a.l,b.l,*c)
			glUniform4fv(a.l,b.l,*c)
			glUniform1iv(a.l,b.l,*c)
			glUniform2iv(a.l,b.l,*c)
			glUniform3iv(a.l,b.l,*c)
			glUniform4iv(a.l,b.l,*c)
			glUniformMatrix2fv(a.l,b.l,c.c,*d)
			glUniformMatrix3fv(a.l,b.l,c.c,*d)
			glUniformMatrix4fv(a.l,b.l,c.c,*d)
			glValidateProgram(a.l)
			glVertexAttrib1d(a.l,b.d)
			glVertexAttrib1dv(a.l,*b)
			glVertexAttrib1f(a.l,b.f)
			glVertexAttrib1fv(a.l,*b)
			glVertexAttrib1s(a.l,b.w)
			glVertexAttrib1sv(a.l,*b)
			glVertexAttrib2d(a.l,b.d,c.d)
			glVertexAttrib2dv(a.l,*b)
			glVertexAttrib2f(a.l,b.f,c.f)
			glVertexAttrib2fv(a.l,*b)
			glVertexAttrib2s(a.l,b.w,c.w)
			glVertexAttrib2sv(a.l,*b)
			glVertexAttrib3d(a.l,b.d,c.d,d.d)
			glVertexAttrib3dv(a.l,*b)
			glVertexAttrib3f(a.l,b.f,c.f,d.f)
			glVertexAttrib3fv(a.l,*b)
			glVertexAttrib3s(a.l,b.w,c.w,d.w)
			glVertexAttrib3sv(a.l,*b)
			glVertexAttrib4Nbv(a.l,*b)
			glVertexAttrib4Niv(a.l,*b)
			glVertexAttrib4Nsv(a.l,*b)
			glVertexAttrib4Nub(a.l,b.c,c.c,d.c,e.c)
			glVertexAttrib4Nubv(a.l,*b)
			glVertexAttrib4Nuiv(a.l,*b)
			glVertexAttrib4Nusv(a.l,*b)
			glVertexAttrib4bv(a.l,*b)
			glVertexAttrib4d(a.l,b.d,c.d,d.d,e.d)
			glVertexAttrib4dv(a.l,*b)
			glVertexAttrib4f(a.l,b.f,c.f,d.f,e.f)
			glVertexAttrib4fv(a.l,*b)
			glVertexAttrib4iv(a.l,*b)
			glVertexAttrib4s(a.l,b.w,c.w,d.w,e.w)
			glVertexAttrib4sv(a.l,*b)
			glVertexAttrib4ubv(a.l,*b)
			glVertexAttrib4uiv(a.l,*b)
			glVertexAttrib4usv(a.l,*b)
			glVertexAttribPointer(a.l,b.l,c.l,d.c,e.l,*f)
		CompilerEndIf
		CompilerIf Defined(GL_VERSION_2_1,#PB_Constant)
			glUniformMatrix2x3fv(a.l,b.l,c.c,*d)
			glUniformMatrix3x2fv(a.l,b.l,c.c,*d)
			glUniformMatrix2x4fv(a.l,b.l,c.c,*d)
			glUniformMatrix4x2fv(a.l,b.l,c.c,*d)
			glUniformMatrix3x4fv(a.l,b.l,c.c,*d)
			glUniformMatrix4x3fv(a.l,b.l,c.c,*d)
		CompilerEndIf
		CompilerIf Defined(GL_VERSION_3_0,#PB_Constant)
			glColorMaski(a.l,b.c,c.c,d.c,e.c)
			glGetBooleani_v(a.l,b.l,*c)
			glGetIntegeri_v(a.l,b.l,*c)
			glEnablei(a.l,b.l)
			glDisablei(a.l,b.l)
			glIsEnabledi.c(a.l,b.l)
			glBeginTransformFeedback(a.l)
			glEndTransformFeedback(a)
			glBindBufferRange(a.l,b.l,c.l,d,e)
			glBindBufferBase(a.l,b.l,c.l)
			glTransformFeedbackVaryings(a.l,b.l,c,d.l)
			glGetTransformFeedbackVarying(a.l,b.l,c.l,*d,*e,*f,*g)
			glClampColor(a.l,b.l)
			glBeginConditionalRender(a.l,b.l)
			glEndConditionalRender(a)
			glVertexAttribIPointer(a.l,b.l,c.l,d.l,*e)
			glGetVertexAttribIiv(a.l,b.l,*c)
			glGetVertexAttribIuiv(a.l,b.l,*c)
			glVertexAttribI1i(a.l,b.l)
			glVertexAttribI2i(a.l,b.l,c.l)
			glVertexAttribI3i(a.l,b.l,c.l,d.l)
			glVertexAttribI4i(a.l,b.l,c.l,d.l,e.l)
			glVertexAttribI1ui(a.l,b.l)
			glVertexAttribI2ui(a.l,b.l,c.l)
			glVertexAttribI3ui(a.l,b.l,c.l,d.l)
			glVertexAttribI4ui(a.l,b.l,c.l,d.l,e.l)
			glVertexAttribI1iv(a.l,*b)
			glVertexAttribI2iv(a.l,*b)
			glVertexAttribI3iv(a.l,*b)
			glVertexAttribI4iv(a.l,*b)
			glVertexAttribI1uiv(a.l,*b)
			glVertexAttribI2uiv(a.l,*b)
			glVertexAttribI3uiv(a.l,*b)
			glVertexAttribI4uiv(a.l,*b)
			glVertexAttribI4bv(a.l,*b)
			glVertexAttribI4sv(a.l,*b)
			glVertexAttribI4ubv(a.l,*b)
			glVertexAttribI4usv(a.l,*b)
			glGetUniformuiv(a.l,b.l,*c)
			glBindFragDataLocation(a.l,b.l,c)
			glGetFragDataLocation.l(a.l,b)
			glUniform1ui(a.l,b.l)
			glUniform2ui(a.l,b.l,c.l)
			glUniform3ui(a.l,b.l,c.l,d.l)
			glUniform4ui(a.l,b.l,c.l,d.l,e.l)
			glUniform1uiv(a.l,b.l,*c)
			glUniform2uiv(a.l,b.l,*c)
			glUniform3uiv(a.l,b.l,*c)
			glUniform4uiv(a.l,b.l,*c)
			glTexParameterIiv(a.l,b.l,*c)
			glTexParameterIuiv(a.l,b.l,*c)
			glGetTexParameterIiv(a.l,b.l,*c)
			glGetTexParameterIuiv(a.l,b.l,*c)
			glClearBufferiv(a.l,b.l,*c)
			glClearBufferuiv(a.l,b.l,*c)
			glClearBufferfv(a.l,b.l,*c)
			glClearBufferfi(a.l,b.l,c.f,d.l)
			glGetStringi.c(a.l,b.l)
		CompilerEndIf
		CompilerIf Defined(GL_VERSION_3_1,#PB_Constant)
			glDrawArraysInstanced(a.l,b.l,c.l,d.l)
			glDrawElementsInstanced(a.l,b.l,c.l,*d,e.l)
			glTexBuffer(a.l,b.l,c.l)
			glPrimitiveRestartIndex(a.l)
		CompilerEndIf
		CompilerIf Defined(GL_VERSION_3_2,#PB_Constant)
			glGetInteger64i_v(a.l,b.l,*c)
			glGetBufferParameteri64v(a.l,b.l,*c)
			glProgramParameteri(a.l,b.l,c.l)
			glFramebufferTexture(a.l,b.l,c.l,d.l)
			glFramebufferTextureFace(a.l,b.l,c.l,d.l,e.l)
		CompilerEndIf
		CompilerIf Defined(GL_ARB_framebuffer_object,#PB_Constant)
			glIsRenderbuffer.c(a.l)
			glBindRenderbuffer(a.l,b.l)
			glDeleteRenderbuffers(a.l,*b)
			glGenRenderbuffers(a.l,*b)
			glRenderbufferStorage(a.l,b.l,c.l,d.l)
			glGetRenderbufferParameteriv(a.l,b.l,*c)
			glIsFramebuffer.c(a.l)
			glBindFramebuffer(a.l,b.l)
			glDeleteFramebuffers(a.l,*b)
			glGenFramebuffers(a.l,*b)
			glCheckFramebufferStatus.l(a.l)
			glFramebufferTexture1D(a.l,b.l,c.l,d.l,e.l)
			glFramebufferTexture2D(a.l,b.l,c.l,d.l,e.l)
			glFramebufferTexture3D(a.l,b.l,c.l,d.l,e.l,f.l)
			glFramebufferRenderbuffer(a.l,b.l,c.l,d.l)
			glGetFramebufferAttachmentParameteriv(a.l,b.l,c.l,*d)
			glGenerateMipmap(a.l)
			glBlitFramebuffer(a.l,b.l,c.l,d.l,e.l,f.l,g.l,h.l,i.l,j.l)
			glRenderbufferStorageMultisample(a.l,b.l,c.l,d.l,e.l)
			glFramebufferTextureLayer(a.l,b.l,c.l,d.l,e.l)
		CompilerEndIf
		CompilerIf Defined(GL_ARB_map_buffer_range,#PB_Constant)
			glMapBufferRange(a.l,b,c,d.l)
			glFlushMappedBufferRange(a.l,b,c)
		CompilerEndIf
		CompilerIf Defined(GL_ARB_vertex_array_object,#PB_Constant)
			glBindVertexArray(a.l)
			glDeleteVertexArrays(a.l,*b)
			glGenVertexArrays(a.l,*b)
			glIsVertexArray.c(a.l)
		CompilerEndIf
		CompilerIf Defined(GL_ARB_uniform_buffer_object,#PB_Constant)
			glGetUniformIndices(a.l,b.l,c,*d)
			glGetActiveUniformsiv(a.l,b.l,*c,d,*e)
			glGetActiveUniformName(a.l,b.l,c.l,*d,*e)
			glGetUniformBlockIndex.l(a.l,b)
			glGetActiveUniformBlockiv(a.l,b.l,c.l,*d)
			glGetActiveUniformBlockName(a.l,b.l,c.l,*d,*e)
			glUniformBlockBinding(a.l,b.l,c.l)
		CompilerEndIf
		CompilerIf Defined(GL_ARB_copy_buffer,#PB_Constant)
			glCopyBufferSubData(a.l,b.l,c,d,e)
		CompilerEndIf
		CompilerIf Defined(GL_ARB_draw_elements_base_vertex,#PB_Constant)
			glDrawElementsBaseVertex(a.l,b.l,c.l,*d,e.l)
			glDrawRangeElementsBaseVertex(a.l,b.l,c.l,d.l,e.l,*f,g.l)
			glDrawElementsInstancedBaseVertex(a.l,b.l,c.l,*d,e.l,f.l)
			glMultiDrawElementsBaseVertex(a.l,*b,c.l,*d,e.l,*f)
		CompilerEndIf
		CompilerIf Defined(GL_ARB_provoking_vertex,#PB_Constant)
			glProvokingVertex(a.l)
		CompilerEndIf
		CompilerIf Defined(GL_ARB_sync,#PB_Constant)
			glFenceSync(a.l,b.l)
			glIsSync.c(a)
			glDeleteSync(a)
			glClientWaitSync.l(a,b.l,c)
			glWaitSync(a,b.l,c)
			glGetInteger64v(a.l,*b)
			glGetSynciv(a,b.l,c.l,*d,*e)
		CompilerEndIf
		CompilerIf Defined(GL_ARB_texture_multisample,#PB_Constant)
			glTexImage2DMultisample(a.l,b.l,c.l,d.l,e.l,f.c)
			glTexImage3DMultisample(a.l,b.l,c.l,d.l,e.l,f.l,g.c)
			glGetMultisamplefv(a.l,b.l,*c)
			glSampleMaski(a.l,b.l)
		CompilerEndIf
		CompilerIf Defined(GL_ARB_draw_buffers_blend,#PB_Constant)
			glBlendEquationi(a.l,b.l)
			glBlendEquationSeparatei(a.l,b.l,c.l)
			glBlendFunci(a.l,b.l,c.l)
			glBlendFuncSeparatei(a.l,b.l,c.l,d.l,e.l)
		CompilerEndIf
		CompilerIf Defined(GL_ARB_sample_shading,#PB_Constant)
			glMinSampleShading(a.f)
		CompilerEndIf
		EndImport
	CompilerEndIf
;}


; IDE Options = PureBasic 5.11 (Windows - x86)
; CursorPosition = 56
; FirstLine = 19
; Folding = --------
; EnableXP
; EnableCompileCount = 0
; EnableBuildCount = 0
; EnableExeConstant